Класс Picture графического рисунка
Класс Picture
представляет собой графический рисунок модуля GraphABC и
является надстройкой над типом System.Drawing.Bitmap
. Он
имеет свойство прозрачности, которое можно включать/выключать,
а также возможность непосредственного рисования на себе всех графических
примитивов.
Конструкторы класса Picture |
constructor Create(w,h: integer);
Создает рисунок размера w на
h пикселей
|
constructor Create(fname: string);
Создает рисунок из файла с именем fname
|
constructor Create(r: System.Drawing.Rectangle);
Создает рисунок из прямоугольника r графического окна
|
Свойства класса Picture |
property Width: integer; Ширина рисунка в пикселах |
property Height: integer; Высота рисунка в пикселах |
property Transparent: boolean;
Прозрачность рисунка; прозрачный цвет задается свойством TransparentColor
|
property TransparentColor: Color;
Прозрачный цвет рисунка. Должна быть установлена прозрачность Transparent = True
|
Методы класса Picture |
procedure Load(fname: string);
Загружает рисунок из файла с именем fname
|
procedure Save(fname: string);
Сохраняет рисунок в файл с именем fname
|
procedure SetSize(w,h: integer);
Устанавливает размер рисунка w на h пикселей
|
function Intersect(p: Picture): boolean;
Возвращает True , если изображение данного рисунка
пересекается с изображением рисунка p , и False в
противном случае. Для проверки пересечения оба объекта рисуются
на белом фоне, и прямоугольник пересечения попиксельно проверяется на
пересечение. К сожалению, при таком алгоритме любые белые пиксели считаются не
принадлежащими объекту. Поэтому для корректной работы этого метода не
следует использовать белый цвет для внутренности объекта.
|
procedure Draw(x,y: integer);
Выводит рисунок в позиции (x,y) |
procedure Draw(x,y: integer; g: Graphics);
Выводит рисунок в позиции (x,y) на поверхность рисования g
|
procedure Draw(x,y,w,h: integer);
Выводит рисунок в позиции (x,y), масштабируя его к размеру (w,h) |
procedure Draw(x,y,w,h: integer; g: Graphics);
Выводит рисунок в позиции (x,y), масштабируя его к размеру (w,h), на поверхность рисования g
|
procedure Draw(x,y: integer; r: System.Drawing.Rectangle); // r - part of Picture
Выводит часть рисунка, заключенную в прямоугольнике r , в позиции (x,y)
|
procedure Draw(x,y: integer; r: System.Drawing.Rectangle; g: Graphics);
Выводит часть рисунка, заключенную в прямоугольнике r , в позиции (x,y) на поверхность рисования g
|
procedure Draw(x,y,w,h: integer; r: System.Drawing.Rectangle); // r - part of Picture
Выводит часть рисунка, заключенную в прямоугольнике r , в позиции (x,y), масштабируя его к размеру (w,h)
|
procedure Draw(x,y,w,h: integer; r: System.Drawing.Rectangle; g: Graphics);
Выводит часть рисунка, заключенную в прямоугольнике r , в позиции (x,y), масштабируя его к размеру (w,h), на поверхность рисования g
|
procedure CopyRect(dst: System.Drawing.Rectangle; p: Picture; src: System.Drawing.Rectangle);
Копирует прямоугольник src рисунка
p в прямоугольник dst текущего рисунка
|
procedure CopyRect(dst: System.Drawing.Rectangle; bmp: Bitmap; src: System.Drawing.Rectangle);
Копирует прямоугольник src битового образа
bmp в прямоугольник dst текущего рисунка
|
procedure FlipHorizontal;
Зеркально отображает рисунок относительно горизонтальной оси симметрии |
procedure FlipVertical;
Зеркально отображает рисунок относительно вертикальной оси симметрии |
procedure SetPixel(x,y: integer; c: Color);
Закрашивает пиксел (x,y) рисунка цветом c
|
procedure PutPixel(x,y: integer; c: Color);
Закрашивает пиксел (x,y) рисунка цветом c
|
function GetPixel(x,y: integer): Color;
Возвращает цвет пиксела (x,y) рисунка |
procedure Line(x1,y1,x2,y2: integer);
Выводит на рисунке отрезок от точки (x1,y1) до точки (x2,y2) |
procedure Line(x1,y1,x2,y2: integer; c: Color);
Выводит на рисунке отрезок от точки (x1,y1) до точки (x2,y2) цветом c
|
procedure FillCircle(x,y,r: integer);
Заполняет на рисунке внутренность окружности с центром (x,y) и радиусом r
|
procedure DrawCircle(x,y,r: integer);
Выводит на рисунке окружность с центром (x,y) и радиусом r
|
procedure FillEllipse(x1,y1,x2,y2: integer);
Заполняет на рисунке внутренность эллипса, ограниченного прямоугольником, заданным координатами противоположных вершин (x1,y1) и (x2,y2) |
procedure DrawEllipse(x1,y1,x2,y2: integer);
Выводит на рисунке границу эллипса, ограниченного прямоугольником, заданным координатами противоположных вершин (x1,y1) и (x2,y2) |
procedure FillRectangle(x1,y1,x2,y2: integer);
Заполняет на рисунке внутренность прямоугольника, заданного координатами противоположных вершин (x1,y1) и (x2,y2) |
procedure FillRect(x1,y1,x2,y2: integer);
Заполняет на рисунке внутренность прямоугольника, заданного координатами противоположных вершин (x1,y1) и (x2,y2) |
procedure DrawRectangle(x1,y1,x2,y2: integer);
Выводит на рисунке границу ы прямоугольника, заданного координатами противоположных вершин (x1,y1) и (x2,y2) |
procedure Circle(x,y,r: integer);
Выводит на рисунке заполненную окружность с центром (x,y) и радиусом r
|
procedure Ellipse(x1,y1,x2,y2: integer);
Выводит на рисунке заполненный эллипс, ограниченный прямоугольником, заданным координатами противоположных вершин (x1,y1) и (x2,y2) |
procedure Rectangle(x1,y1,x2,y2: integer);
Выводит на рисунке заполненный прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2) |
procedure RoundRect(x1,y1,x2,y2,w,h: integer);
Выводит на рисунке заполненный прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев
|
procedure Arc(x,y,r,a1,a2: integer);
Выводит на рисунке дугу окружности с центром в точке (x,y) и радиусом r , заключенной между двумя лучами, образующими углы a1 и
a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
|
procedure FillPie(x,y,r,a1,a2: integer);
Заполняет на рисунке внутренность сектора окружности, ограниченного дугой с центром в точке (x,y) и радиусом r , заключенной между двумя лучами, образующими углы a1 и
a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
|
procedure DrawPie(x,y,r,a1,a2: integer);
Выводит на рисунке сектор окружности, ограниченный дугой с центром в точке (x,y) и радиусом r , заключенной между двумя лучами, образующими углы a1 и
a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
|
procedure Pie(x,y,r,a1,a2: integer);
Выводит на рисунке заполненный сектор окружности, ограниченный дугой с центром в точке (x,y) и радиусом r , заключенной между двумя лучами, образующими углы a1 и
a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
|
procedure DrawPolygon(points: array of Point);
Выводит на рисунке замкнутую ломаную по точкам, координаты которых заданы в массиве points
|
procedure FillPolygon(points: array of Point);
Заполняет на рисунке многоугольник, координаты вершин которого заданы в массиве points
|
procedure Polygon(points: array of Point);
Выводит на рисунке заполненный многоугольник, координаты вершин которого заданы в массиве points
|
procedure Polyline(points: array of Point);
Выводит на рисунке ломаную по точкам, координаты которых заданы в массиве points
|
procedure Curve(points: array of Point);
Выводит на рисунке кривую по точкам, координаты которых заданы в массиве points
|
procedure DrawClosedCurve(points: array of Point);
Выводит на рисунке замкнутую кривую по точкам, координаты которых заданы в массиве points
|
procedure FillClosedCurve(points: array of Point);
Заполняет на рисунке замкнутую кривую по точкам, координаты которых заданы в массиве points
|
procedure ClosedCurve(points: array of Point);
Выводит на рисунке заполненную замкнутую кривую по точкам, координаты которых заданы в массиве points
|
procedure TextOut(x,y: integer; s: string);
Выводит на рисунке строку s в прямоугольник к координатами левого верхнего угла (x,y)
|
procedure FloodFill(x,y: integer; c: Color);
Заливает на рисунке область одного цвета цветом c , начиная с точки (x,y).
|
procedure Clear;
Очищает рисунок белым цветом |
procedure Clear(c: Color);
Очищает рисунок цветом c
|