Версия для печати
Компонент TGraphicsManager
http://www.delphikingdom.com/asp/viewitem.asp?catalogID=755Юрий Писарев
дата публикации 28-02-2003 13:12Компонент TGraphicsManager
Содержание:
Маска изображения, выделенные диапазоны Компонент позволяет работать с выделенными диапазонами. Маска изображения это дополнительное изображение, равное по площади редактируемому изображению. Выделенный диапазон это тот диапазон, который на дополнительном изображении (маске) отмечен белым цветом (не обязательно белым, этот цвет определяется свойством компонента PositiveColor). Таким образом, маска изображения совместима с маской, используемой в Corel Photo Paint. На рисунке видно, как осуществляется поворот изображения по маске:
Поворот без использования маски изображения:
Поворот с использованием маски изображения:
Настройка цветовой информации В компоненте реализована технология гибкой настройки цветовой информацию изображения. Изображение разбивается на информационные столбцы, причем ширина каждого столбца равна одному пикселю, а высота равна высоте изображения. На графике отображается процентное содержание каждого составляющего пикселя в каждом столбце. по сути это сильно детализированная гистограмма:
В программе GraphicsDemo чтобы изменить цветовую информацию изображения, следует щелкнуть мышью на любой вертикальной оси графика и, не отпуская, дотащить курсор до конца противоположной оси. В процессе перетаскивания будет отображаться траектория. По завершении перетаскивания линия траектории заменит собой цветовую информацию рисунка. Какая именно информация будет заменена, определяется настройками в левой верхней части страницы "информация":
Исходное изображение:
Гистограмма изображения:
Измененная цветовая информация:
Можно сохранить цветовую информацию, как для каждого составляющего пикселя в отдельности, так и для всех вместе. Для этого предназначены кнопки "Импортировать" и "Экспортировать" программы GraphicsDemo. Причем та информация, что была сохранена, может использоваться для любых изображений, даже отличающихся по размерам от исходного изображения.
В программе GraphicsDemo используется компонент TBmpChart. Его необходимость обусловлена созданием более удобной системы управления цветом. Этот компонент создан на базе компонента TChart, таким образом можно увеличить любой фрагмент гистограммы для ее детального рассмотрения. Для этого необходимо щелкнуть мышью на графике и, не отпуская, протащить курсор вправо и вниз, выбрав тем самым область просмотра. Чтобы отменить увеличение, необходимо щелкнуть мышью на графике и, не отпуская, протащить курсор влево и вверх на любое расстояние.
Инвертирование цвета Компонент позволяет инвертировать любой набор каналов изображения:
Исходное изображение:
Инвертированное изображение:
Замена (фильтрация) цвета и рисование Компонент позволяет легко и быстро заменять цвета. Чтобы лучше понять технологию замены цвета, рекомендую поэкспериментировать с демонстрационной программой GraphicsDemo.
Исходное изображение:
Отфильтрованное изображение:
В программе GraphicsDemo на странице "Замена цвета" кнопка "Рисовать" открывает диалоговое окно для рисования отфильтрованного изображения на поверхности рабочего стола
Вращение изображения Компонент позволяет:
- Повернуть изображение влево.
- Повернуть изображение вправо.
- Перевернуть изображение.
- Зеркально отразить изображение.
- Перевернуть и зеркально отразить изображение.
- Повернуть изображение на любой угол.
Настройка цвета Компонент позволяет увеличивать или уменьшать значения любого набора каналов:
Исходное изображение:
Измененное изображение:
Установка цвета Компонент позволяет быстро устанавливать во всем изображении значения любого набора каналов. В случае если устанавливаются сразу все значения каналов, то это простое заполнение изображения цветом.
Эффект прозрачности Компонент позволяет работать с прозрачностью:
Первое изображение:
Второе изображение:
Эффект прозрачности:
Эффект смазывания Компонент позволяет сглаживать любой набор каналов:
Исходное изображение:
Эффект сглаживания:
Эффект резкости Компонент позволяет увеличивать резкость любого набора каналов:
Исходное изображение:
Эффект резкости:
Криптография Компонент позволяет загружать в изображение информацию из потоков. При этом изменяются последние биты составляющих пикселя, таким образом, визуально заметить разницу между изображениями невозможно, даже если они сплошного цвета, например черные. Есть ряд настроек, связанных с тем, как информация будет распределяться внутри изображения. Можно добиться того, чтобы информация равномерно заполнила все пространство рисунка. Можно самостоятельно задать начало распределения и шаг распределения. Я решил показать, как информация распределяется внутри изображения. Для этого я взял полностью черное изображение и загрузил в него некоторую информацию. Далее я убрал из изображения все цвета, которые не являются стопроцентно черными (R = 0, G = 0, B = 0), именно они появляются в изображении в результате загрузки в него информации:
Программа GraphicsDemo после загрузки информации в изображение передает размер информации в компонент leDataSize страницы "Криптография". Чтобы извлечь информацию, необходимо чтобы все компоненты имели те же параметры что и при загрузке.
Исходное изображение:
Изображение c информацией:
Коллекция действий Коллекция действий основана на компоненте TGraphicsManager и предназначена для выполнения быстрых операций над изображением. Целевым компонентом является компонент типа TImage, который должен содержать в свойстве Picture.Bitmap изображение.
Заключение
Т е с т и р о в а н и е и о б с у ж д е н и е
- Детальное описание компонента, а также некоторых дополнительных эффектов, доступно по адресу:
www.pisarev.net
Скачать компонент TGraphicsManager (93K)
Скачать компонент TBmpChart (3K)
Скачать демонстрационную программу GraphicsDemo (164K)
Скачать коллекцию действий (8K)