Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Редактор Изображений Image EditorСодержание книги
Поиск на нашем сайте
В Delphi имеется встроенный Редактор Изображений — Image Editor, который вызывается командой Tools | Image Editor. Это сравнительно простой редактор с не очень богатыми возможностями. Он позволяет создавать изображения в виде битовых матриц, пиктограмм, изображений курсоров и не только сохранять созданные изображения в виде файлов, но и сразу включать их в файл ресурсов приложения. В этом в основном и заключается его отличие от других, более мощных графических редакторов. Работа начинается с раздела меню File, в котором вы можете выбрать раздел Open — открыть новый файл изображения или ресурсов, или раздел New — создать новый файл. Если вы выбрали New, то вам предлагается сделать дополнительный выбор, определяющий вид файла, который вы хотите создать: - файл ресурсов - Resource File (.res); - файл ресурсов компонента - Component Resource File (.dcr); - файл битовой матрицы - Bitmap File (.bmp); - файл пиктограммы - Icon File (.ico); - файл изображения курсора - Cursor File (.cur). Пусть, например, вы хотите создать свой рисунок для битовой матрицы. Тогда, выбрав раздел Bitmap File, вы попадаете в окно, в котором должны выбрать размер (Size) матрицы по горизонтали (Width) и вертикали (Height), а также выбрать набор цветов: 2, 16 или 256. Вероятно, для начала вам будет вполне достаточно 16 цветов. После сделанного выбора вы увидите в окне Редактора Изображений границы вашего будущего рисунка. Вы можете начинать творить. Раздел меню View предоставляет вам возможность увеличить изображение в 2 раза (раздел Zoom In), уменьшить ранее увеличенное изображение (раздел Zoom Out) или посмотреть изображение в его реальном размере (раздел Actual Size). Расположенная слева инструментальная панель предоставляет вам достаточно типичный для любого графического редактора инструментарий, с которым предлагается вам разобраться самостоятельно. В нижней части Редактора Изображений расположена палитра цветов. Если вы обладаете художественными способностями, то можете попробовать нарисовать что-нибудь стоящее. Если же нет, то можете воспользоваться каким-нибудь готовым файлом.bmp (команда File | Open позволит вам его открыть) и что-то к нему добавить, например текст. А еще проще — напишите просто текст и сохраните в виде файла.bmp. В дальнейшем вы можете наложить его в своем приложении на любой рисунок с помощью свойства Transparent компонента Image. Файл пиктограммы создается аналогично. Вы можете создать, например, несложный файл пиктограммы и затем использовать его как вашу фирменную пиктограмму во всех своих приложениях.
Рисование по пикселям
Рисовать на канве можно разными способами. Первый вариант — рисование по пикселям. Для этого используется свойство канвы Pixels. Это свойство представляет собой двумерный массив, который отвечает за цвета канвы. Например, Canvas.Pixels[10,20] соответствует цвету пикселя, 10-го слева и 20-го сверху. С массивом пикселей можно обращаться как с любым свойством: изменять цвет, задавая пикселю новое значение, или определять его цвет по хранящемуся в нем значению. Например, Canvas.Pixels[10,20]:= 0 или Canvas.PixelsflO,20]:= clBlack — это задание пикселю черного цвета. Давайте попробуем нарисовать график некоторой функции F(X) на канве компонента Imagel, если известен диапазон ее изменения Ymax и Ymin и диапазон изменения аргумента Xmin и Хmах. Это можно сделать такой процедурой: var X,Y:real; // координаты функции РХ,PY:longint; // координаты пикселей begin for PX:=0 to Imagel.Width do begin // X — координата, соответствующая пикселю с координатой РХ X:=Xmin+PX*(Xmax-Xmin)/Imagel.Width; Y:=F(X); // PY — координата пикселя, соответствующая координате Y PY:=trunc(Imagel.Height-(Y-Ymin)*Imagel.Height/(Ymax-Ymin)); (Устанавливается черный цвет выбранного пикселя (0 яркости)} Imagel.Canvas.Pixels[PX,PY]:= 0; end; end; В этом коде вводятся переменные X и Y, являющиеся значениями аргумента и функции, а также переменные РХ и PY, являющиеся координатами пикселей, соответствующими X и Y. Сама процедура состоит из цикла по всем значениям горизонтальной координаты пикселей РХ компонента Imagel. Сначала выбранное значение РХ пересчитывается в соответствующее значение X. Затем производится вызов функции F(X) и определяется ее значение Y. Это значение пересчитывается в вертикальную координату пикселя PY. И в заключение цвет пикселя с координатами (РХ, PY) устанавливается черным. Попробуйте создать соответствующее приложение и посмотреть, как оно работает. Пусть для простоты мы будем ориентироваться на функцию sin(X), для которой Xmin = 0, Хmах = 4р (2 периода в радианах), Ymin = -1, Ymax — 1. Начните новый проект, поместите на него компонент Image и кнопку с надписью «Нарисовать», в обработчик события OnClick которой запишите код, аналогичный приведенному выше, но конкретизирующий функцию: // координаты функции // координаты пикселей var X,Y:real; РХ, PY:longint; begin for PX:=0 to Imagel.Width do begin // X — координата, соответствующая пикселю с координатой РХ X:= РХ * 4 * Pi / Imagel.Width; Y:= Sin(X); // PY — координата пикселя, соответствующая координате Y PY:=trunc(Imagel.Height-(Y+l)*Imagel.Height/2); {Устанавливается черный цвет выбранного пикселя (0 яркости)} Imagel.Canvas.Pixels[PX,PY]:= 0; end; end; Откомпилируйте ваш проект, сохраните его и выполните.
|
||||
Последнее изменение этой страницы: 2016-12-28; просмотров: 245; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.204.52 (0.005 с.) |