Просмотр изображений в WPF
В этом разделе
WpfImageViewer - это WPF-контрол, предназначенный для отображения коллекции изображений.
WpfImageViewer может работать отдельно
- WpfImageViewer создает собственную коллекцию изображений, доступ к которой можно получить с помощью свойства WpfImageViewerBase.Images
- по коллекции изображений можно перемещаться с помощью свойства WpfImageViewerBase.FocusedIndex
- изображение добавляется/обновляется/удаляется в просмотрщике изображений, если изображение добавляется/обновляется/удаляется в связанной коллекции изображений
WpfImageViewer может работать как "ведомый просмотрщик" другого
WpfImageViewer или
WpfThumbnailViewer
- связь между просмотрщиками может быть установленас помощью свойства WpfImageViewerBase.MasterViewer подчиненного просмотрщика
- ведомый просмотрщик использует коллекцию изображений главного просмотрщика
- доступ к общей коллекции изображений можно получить с помощью свойства WpfImageViewerBase.Images главного или подчиненного просмотрщика
- навигация по коллекции изображений может осуществляться с помощью свойства WpfImageViewerBase.FocusedIndex главного или подчиненного просмотрщика
- Свойства WpfImageViewerBase.FocusedIndex главного и подчиненного просмотрщиков изменяются синхронно
- изображение добавляется/обновляется/удаляется в просмотрщике изображений, если изображение добавляется/обновляется/удаляется в связанной коллекции изображений
Вот C#/VB.NET код, который демонстрирует, как загрузить изображения в
WpfImageViewer и выбрать последнее изображение для отображения:
wpfImageViewer1.Images.Add("myimages.tif");
wpfImageViewer1.FocusedIndex = wpfImageViewer1.Images.Count - 1;
wpfImageViewer1.Images.Add("myimages.tif")
wpfImageViewer1.FocusedIndex = wpfImageViewer1.Images.Count - 1
Просмотр изображений
Режим отображения в просмотрщик изображений
WpfImageViewer может отображать одно или несколько изображений одновременно.
Свойство
WpfImageViewer.DisplayMode позволяет установить один из предопределенных режимов отображения:
-
Single page - просмотрщик изображений одновременно отображает 1 изображение.
-
Single column - просмотрщик изображений одновременно отображает 1 изображение в 1 столбце.
-
Single row - просмотрщик изображений одновременно отображает 1 изображение в 1 строке.
-
Single continuous column - просмотрщик изображений одновременно отображает все изображения в 1 непрерывном столбце.
-
Single continuous row - просмотрщик изображений одновременно отображает все изображения в 1 непрерывном ряду.
-
Two columns - просмотрщик изображений одновременно отображает 2 изображения в 2 столбцах.
-
Two rows - просмотрщик изображений одновременно отображает 2 изображения в 2 ряда.
-
Two continuous columns - просмотрщик изображений одновременно отображает все изображения в 2 непрерывных столбцах.
-
Two continuous rows - просмотрщик изображений одновременно отображает все изображения в 2 непрерывных ряда.
-
Three columns - просмотрщик изображений одновременно отображает 3 изображения в 3 столбцах.
-
Three rows - просмотрщик изображений одновременно отображает 3 изображения в 3 ряда.
-
Three continuous columns - просмотрщик изображений одновременно отображает все изображения в 3 непрерывных столбцах.
-
Three continuous rows - просмотрщик изображений одновременно отображает все изображения в 3 непрерывных рядах.
Также
WpfImageViewer позволяет определить пользовательский режим отображения изображения, используя следующие свойства:
Режимы просмотра
WpfImageViewer может просматривать изображение в различных режимах.
Свойство
WpfImageViewer.SizeMode позволяет установить один из предопределенных режимов просмотра:
- Normal - просмотр изображения с использованием разрешения изображения без масштабирования
- PixelToPixel - - просмотр изображения с использованием разрешения экрана без масштабирования, разрешение изображения будет игнорироваться
- FitToWidth - масштабирует изображение по ширине просмотрщика
- FitToHeight - масштабирует изображение по высоте просмотрщика
- BestFit - масштабирует пропорции изображения до размеров просмотрщика
- Zoom - масштабирует изображение до указанного значения
Качество рендеринга
WpfImageViewer может использовать низкое и высокое качество рендеринга для изображений просмотра.
Вот для сравнения одно и то же изображение, отрендеренное в низком и высоком качестве:
Качество рендеринга можно изменить с помощью свойства
WpfImageViewer.RenderingQuality.
Настройки рендеринга
Векторные изображения/документы, например PDF документы, необходимо отрендерить перед просмотром в
WpfImageViewer.
Настройки рендеринга векторных изображений/документов можно задать с помощью свойства
WpfImageViewer.ImageRenderingSettings.
Манипулирование изображениями
Горячие клавиши
WpfImageViewer имеет горячие клавиши:
- Ctrl+C - копирует текущие изображение в буфер обмена
- Ctrl+X - копирует текущее изображение в буфер обмена и удаляет изображение из связанной коллекции изображений
- Ctrl+V - вставляет изображение из буфера обмена в качестве текущего изображения
- Del - удаляет текущее изображение из связанной коллекции изображений.
Горячие клавиши можно включить/отключить с помощью свойств
WpfImageViewerBase.InputGestureCopy,
WpfImageViewerBase.InputGestureCut,
WpfImageViewerBase.InputGestureInsert,
WpfImageViewerBase.InputGestureDelete.
Поведение горячих клавиш можно переопределить с помощью методов WpfImageViewerBase.GetCopyCommand, WpfImageViewerBase.GetCutCommand, WpfImageViewerBase.GetInsertCommand, WpfImageViewerBase.GetDeleteCommand.
Контекстное меню просмотрщика изображений
WpfImageViewer может иметь стандартное контекстное меню WPF как любой WPF-контрол.
Визуальные инструменты
Визуальные инструменты расширяют функциональность класса
ImageViewer и позволяют обрабатывать изображения в интерактивном режиме. Информацию о доступных визуальных инструментах можно найти
здесь
.
Активный визуальный инструмент
WpfImageViewer можно установить с помощью свойства
WpfImageViewer.VisualTool.