Просмотр изображений в WinForms
В этом разделе
ImageViewer - это WinForms-контрол, предназначенный для отображения коллекции изображений.
ImageViewer может работать отдельно и в этом случае
- ImageViewer создает собственную коллекцию изображений, доступ к которой можно получить с помощью свойства ImageViewerBase.Images
- навигация по коллекции изображений может осуществляться с помощью свойства ImageViewerBase.FocusedIndex
- изображение добавляется/обновляется/удаляется в просмотрщике изображений, если изображение добавляется/обновляется/удаляется в связанной коллекции изображений
ImageViewer может работать как "ведомый просмотрщик" другого
ImageViewer или
ThumbnailViewer, и в этом случае
- связь между просмотрщиками может быть установлена с помощью свойства ImageViewerBase.MasterViewer подчиненного просмотрщика
- ведомый просмотрщик использует коллекцию изображений главного просмотрщика
- доступ к общей коллекции изображений можно получить с помощью свойства ImageViewerBase.Images главного или подчиненного просмотрщика
- навигация по коллекции изображений осуществляется с помощью свойства ImageViewerBase.FocusedIndex главного или подчиненного просмотрщика
- Свойства ImageViewerBase.FocusedIndex главного и подчиненного просмотрщиков изменяются синхронно
- изображение добавляется/обновляется/удаляется в просмотрщике изображений, если изображение добавляется/обновляется/удаляется в связанной коллекции изображений
Вот C#/VB.NET код, который демонстрирует, как загрузить изображения в
ImageViewer и выбрать последнее изображение для отображения:
imageViewer1.Images.Add("myimages.tif");
imageViewer1.FocusedIndex = imageViewer1.Images.Count - 1;
imageViewer1.Images.Add("myimages.tif")
imageViewer1.FocusedIndex = imageViewer1.Images.Count - 1
Просмотр изображений
Режим отображения в просмотрщик изображений
ImageViewer может отображать одно или несколько изображений одновременно.
Свойство
ImageViewer.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 непрерывных рядах.
Также
ImageViewer позволяет определить собственный режим отображения изображения, используя следующие свойства:
Режимы просмотра изображений
ImageViewer может просматривать изображение в различных режимах.
Свойство
ImageViewer.SizeMode позволяет установить один из предопределенных режимов предварительного просмотра:
- Normal - просмотр изображения с использованием разрешения изображения без масштабирования
- PixelToPixel - - просмотр изображения с использованием разрешения экрана без масштабирования, разрешение изображения будет игнорироваться
- FitToWidth - масштабирует изображение по ширине просмотрщика
- FitToHeight - масштабирует изображение по высоте просмотрщика
- BestFit - масштабирует пропорции изображения до размеров просмотрщика
- Zoom - масштабирует изображение до указанного значения
Внешний вид изображения
ImageViewer позволяет указать внешний вид (фоновая кисть, цвет фона, цвет границы, ширина границы, стиль границы) для сфокусированного изображение с помощью свойства
ImageViewer.FocusedImageAppearance, а для не сфокусированных изображений - с помощью свойства
ImageViewer.ImageAppearance.
Качество рендеринга
ImageViewer позволяет указать качество рендеринга изображений.
Вот для сравнения одно и то же изображение, отрендеренное в низком и высоком качестве:
Качество рендеринга можно изменить с помощью свойства
ImageViewer.RenderingQuality.
Настройки рендеринга
Векторные изображения/документы, например документы PDF, DOCX или XLSX, должны быть отрендерены перед просмотром в
ImageViewer-е.
Настройки рендеринга векторных изображений/документов можно задать с помощью свойства
ImageViewer.ImageRenderingSettings.
Манипулирование изображениями
Горячие клавиши
ImageViewer имеет горячие клавиши:
- Ctrl+C - копирует текущие изображение в буфер обмена
- Ctrl+X - копирует текущее изображение в буфер обмена и удаляет изображение из связанной коллекции изображений
- Ctrl+V - вставляет изображение из буфера обмена в качестве текущего изображения
- Del - удаляет текущее изображение из связанной коллекции изображений.
Горячие клавиши можно включить/отключить с помощью свойств
ImageViewerBase.ShortcutCopy,
ImageViewerBase.ShortcutCut,
ImageViewerBase.ShortcutInsert,
ImageViewerBase.ShortcutDelete.
Поведение горячих клавиш можно переопределить с помощью методов
ImageViewerBase.DoCopy,
ImageViewerBase.DoCut,
ImageViewerBase.DoInsert,
ImageViewerBase.DoDelete.
Контекстное меню просмотрщика изображений
ImageViewer имеет контекстное меню, доступ к которому можно получить с помощью свойства ContextMenuStrip.
Визуальные инструменты
Визуальные инструменты расширяют функциональность класса
ImageViewer и позволяют обрабатывать изображения в интерактивном режиме. Информацию о доступных визуальных инструментах можно найти
здесь
.
Активный визуальный инструмент
ImageViewer можно установить с помощью свойства
ImageViewer.VisualTool.