Книга: Описание языка PascalABC.NET
Класс Picture графического рисунка
Разделы на этой странице:
Класс 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: arrayof Point); Выводит на рисунке замкнутую ломаную по точкам, координаты которых заданы в массиве points |
procedure FillPolygon(points: arrayof Point); Заполняет на рисунке многоугольник, координаты вершин которого заданы в массиве points |
procedure Polygon(points: arrayof Point); Выводит на рисунке заполненный многоугольник, координаты вершин которого заданы в массиве points |
procedure Polyline(points: arrayof Point); Выводит на рисунке ломаную по точкам, координаты которых заданы в массиве points |
procedure Curve(points: arrayof Point); Выводит на рисунке кривую по точкам, координаты которых заданы в массиве points |
procedure DrawClosedCurve(points: arrayof Point); Выводит на рисунке замкнутую кривую по точкам, координаты которых заданы в массиве points |
procedure FillClosedCurve(points: arrayof Point); Заполняет на рисунке замкнутую кривую по точкам, координаты которых заданы в массиве points |
procedure ClosedCurve(points: arrayof 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 |
- Типы и переменные модуля GraphABC
- Графические примитивы
- Функции для работы с цветом
- Цветовые константы
- Подпрограммы для работы с пером
- Текущее перо Pen
- Стили пера
- Подпрограммы для работы с кистью
- Текущая графическая кисть Brush
- Стили кисти
- Стили штриховки кисти
- Подпрограммы для работы со шрифтом
- Текущий шрифт Font
- Стили шрифта
- Класс Picture графического рисунка
- Подпрограммы для работы с графическим окном
- Класс GraphABCWindow графического окна
- Подпрограммы для работы с координатами графического окна
- Класс GraphABCCoordinate графического окна
- Подпрограммы блокировки рисования
- Подпрограммы режимов рисования
- События модуля GraphABC
- Виртуальные коды клавиш
- Класс PictureABC
- Класс MultiPictureABC
- Работа с рисунками
- Работа с фрагментами рисунка
- Выбор фонового рисунка
- Просмотр папок с рисунками
- О векторных и растровых рисунках
- Практическая работа 40. Создание рисунка с помощью автофигур
- 7.6.1 Drawing in Picture Mode
- 7.4. Оформление и представление текущего рисунка
- Как убрать часть рисунка?
- 7.8. Изменение рисунка учетной записи