Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технология программирования / ИТ / Лекции_Технология_прогр.doc
Скачиваний:
119
Добавлен:
17.05.2015
Размер:
848.38 Кб
Скачать

§14. Графическая подсистема Delphi Класс tImage

Предназначен для хранения изображений любого из распространенных графических форматов (bmp, jpg и др).

Свойство

Тип

Пояснение

Примечание

Picture

TPicture

Изображение

Может загружаться через инспектор объектов

Некоторые методы, связанные со свойством Picture

Метод

Пояснение

Пример

LoadFromFile(filename)

Загрузка текста из файла filename

Image1. Picture. LoadFromFile(’C:\a.jpg’)

SaveToFile(filename)

Запись текста в файл filename

Image1. Picture. SaveToFile(’a.bmp’)

Некоторые события

Событие

Что происходит

Примечание

onChange

Изменение содержимого

onMouseDown

Нажатие кнопки мыши на объекте

Выходные параметры x и y указывают координаты курсора мыши относительно левого верхнего угла объекта

onMouseUp

Отпускание кнопки мыши на объекте

onMouseMove

Движение мыши на объекте

Класс tCanvas

Графическая подсистема Delphi инкапсулирована (иными словами, спрятана) в свойстве Canvas, которым обладают многие визуальные компоненты или их свойства, в частности объект Form1 или свойство Picture класса TImage. Свойство Canvas содержит двумерный массив пикселей, точнее, их цветовых кодов Pixels. Например, инструкция Form1.Canvas.Pixels[100,50]:=clRed; означает, что точка с координатами (100;50) на форме будет окрашена в красный цвет. Таким образом, рисование может быть выполнено поточечно.

Canvas обладает свойствами Brush и Pen и всеми их элементами, аналогично классу TShape. Для того чтобы задать цвет рисования фигуры, следует установить соответствующие значения этих свойств до рисования.

Кроме того, есть ряд специальных методов для рисования:

Метод

Пояснение

Пример

MoveTo(x,y)

Перемещение пишущего узла в точку (x;y) без рисования

Image1.Canvas. MoveTo(0,0)

LineTo(x,y)

Отрезок прямой от точки нахождения пишущего узла до точки (x;y)

Image1.Canvas. LineTo(100,50)

Rectangle(x1,y1,x2,y2)

Прямоугольник с координатами противоположных углов (x1;y1) и (x2;y2)

Image1.Canvas. Rectangle(0,0,100,50)

Ellipse(x1,y1,x2,y2)

Эллипс, вписанный в соответствующий прямоугольник

Image1.Canvas. Ellipse(0,0,100,50)

FloodFill(x,y,color,type)

Заливка области

См. ниже

Заливка области производится, начиная от точки (x;y). Параметр type может принимать значение:

fsBorder (заливается область до границы, цвет которой определяется параметром color);

fsSurface (заливается область, цвет которой определяется параметром color до границы другого цвета).

Например:

Image1.Canvas.Brush.Color:=clRed;

Image1.Canvas.FloodFill(100,50,clBlack,fsBorder);

Будет залита красным цветом область от точки (100;50) до границы черного цвета.

Image1.Canvas.Brush.Color:=clRed;

Image1.Canvas.FloodFill(100,50,clWhite,fsSurface)

Будет залита красным область белого цвета от точки (100;50).

Соседние файлы в папке ИТ