Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Редактор Изображений 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 с.)