Перейти к содержанию

Введение в модуль GraphABC

Материал из Викиучебника — открытых книг для открытого мира

GraphABC - модуль для растровой графики на PascalABC.NET.

Данный модуль является устаревшим (может быть в будущем исключен из среды) и специфическим для PascalABC.NET и не поддерживается другими диалектами Pascal и остальными языками. Современный аналог - GraphWPF.

Процедуры и функции для рисования примитивов

[править]

В GraphABC существует множество процедур и функций для рисования линий, прямоугольников, ломаных и текста. Но перед рисованием Вам следует уяснить то, что изначально все примитивы будут рисоваться черным цветом - изначальным цветом кисти.

Процедура или функция Описание
procedure PutPixel(x, y: integer; c: Color)
Заливает пиксель с координатами (x, y) цветом c.
procedure Line(x, y, x1, y1: integer)
Рисует линию от точки с координатами (x, y) до точки с координатами (x1, y1) текущим цветом кисти.
procedure Line(x, y, x1, y1: integer; c: Color)
Рисует линию от точки с координатами (x, y) до точки с координатами (x1, y1) цветом c.
procedure FillCircle(x, y, r: integer)
Заполняет окружность с координатами центра (x, y) и радиусом r текущим цветом кисти.
procedure DrawCircle(x, y, r: integer)
Рисует контур окружности с координатами центра (x, y) и радиусом r текущим цветом кисти.
procedure FillEllipse(x, y, x1, y1: integer)
Заполняет эллипс, который ограничен прямоугольником с координатами противоположных вершин (x, y) и (x1, y1), текущим цветом кисти.
procedure DrawEllipse(x, y, x1, y1: integer)
Рисует контур эллипса, который ограничен прямоугольником с координатами противоположных вершин (x, y) и (x1, y1), текущим цветом кисти.
procedure FillRectangle(x, y, x1, y1: integer)
Заполняет прямоугольник, который задан координатами противоположных вершин (x, y) и (x1, y1), текущим цветом кисти.
procedure DrawRectangle(x, y, x1, y1: integer)
Рисует контур прямоугольника, который задан координатами противоположных вершин (x, y) и (x1, y1), текущим цветом кисти.
procedure FillRoundRect(x, y, x1, y1, w, h: integer)
Заполняет скругленный прямоугольник, который задан координатами противоположных вершин (x, y) и (x1, y1), текущим цветом кисти. А w и h - ширина и высота эллипсов, которые отвечают за скругления краев прямоугольника.
procedure DrawRoundRect(x, y, x1, y1, w, h: integer)
Рисует контур скругленного прямоугольника, который задан координатами противоположных вершин (x, y) и (x1, y1), текущим цветом кисти. А w и h - ширина и высота эллипсов, которые отвечают за скругления краев прямоугольника.
procedure Arc(x, y, r, c1, c2: integer)
Рисует дугу окружности с координатами центра (x, y) и радиусом r, ограниченную двумя лучами, угол поворота которых определен c1 и c2 против часовой стрелки.
procedure DrawPie(x, y, r, c1, c2: integer)
Рисует контур сектора окружности с координатами центра (x, y) и радиусом r, ограниченную двумя лучами, угол поворота которых определен c1 и c2 против часовой стрелки.
procedure FillPie(x, y, r, c1, c2: integer)
Заполняет сектор окружности с координатами центра (x, y) и радиусом r, ограниченную двумя лучами, угол поворота которых определен c1 и c2 против часовой стрелки.
procedure TextOut(x, y: integer; t: string)
Выводит текст t в прямоугольник, у которого верхняя левая точка имеет координаты (x, y).
procedure DrawTextCentered(x, y: integer; t: string)
Выводит отцентрированный в прямоугольнике (у которого верхняя левая точка имеет координаты (x, y)) текст t.
procedure FloodFill(x, y: integer; c: Color)
Заполняет область одного цвета (цвета точки с координатами (x, y), начиная с нее).
procedure LineTo(x, y: integer)
Рисует прямую от текущей позиции кисти до точки с координатами (x, y) текущим цветом кисти.
procedure LineTo(x, y: integer; c: Color)
Рисует прямую от текущей позиции кисти до точки с координатами (x, y) цветом c.
procedure MoveTo(x, y: integer)
Устанавливает позицию кисти в точку с координатами (x, y).
function GetPixel(x, y: integer): Color
Возвращает цвет пикселя с координатами (x, y).

Функции работы с цветом

[править]
Процедура или функция Описание
function RGB(r, g, b: integer): Color
Возвращает цвет со значениями компонентов r, g и b.
function ARGB(r, g, b: integer): Color
Возвращает цвет со значениями компонентов r, g и b и компонентом прозрачности a.
function clRandom(): Color
Возвращает случайный цвет.
function GetRed(c: Color): integer
Возвращает значение красной компоненты цвета c.
function GetGreen(c: Color): integer
Возвращает значение зеленой компоненты цвета c.
function GetBlue(c: Color): integer
Возвращает значение синей компоненты цвета c.

Текущее перо Pen

[править]
Процедура момент функция Описание
procedure SetPenColor(c: Color)
Установит в качестве текущего цвета кисти цвет c.
procedure SetPenWidth(w: integer)
Установит ширину кисти равную w.
procedure SetPenStyle(s: DashStyle)
Установит стиль кисти для текущей кисти.
  1. PsSolid - сплошное перо.
  2. PsClear - прозрачное перо (не видимое).
  3. PsDash - штриховое перо.
function PenColor(): Color
Возвращает текущий цвет кисти.
function PenWidth(): integer
Возвращает размер текущей кисти.
function PenStyle(): DashStyle
Возвращает стиль текущей кисти.
  1. PsSolid - сплошное перо.
  2. PsClear - прозрачное перо (не видимое).
  3. PsDash - штриховое перо.
function PenX(): integer
Возвращает координату X текущей позиции кисти.
function PenY(): integer
Возвращает координату Y текущей позиции кисти.

Текущий шрифт Font

[править]
Процедура момент функция Описание
procedure SetFontColor(c: Color)
Установит в качестве текущего цвета текста цвет c.
procedure SetFontStyle(s: integer)
Установит стиль кисти для текущей шрифта.
  1. FsNormal - обычный.
  2. FsBold - жирный шрифт.
  3. FsItalic - курсив.
  4. FsUnderline - подчёркнутый шрифт.
  5. FsBoldItalic - жирный курсив.
  6. FsBoldUnderline - жирный подчеркнутый шрифт.
  7. FsItalicUnderline - подчеркнутый курсив.
  8. FsBoldItalicUnderline - жирный подчеркнутый курсив.
function FontColor(): Color
Возвращает текущий цвет шрифта.
function FontStyle(): integer
Возвращает текущий стиль шрифта.
  1. FsNormal - обычный.
  2. FsBold - жирный шрифт.
  3. FsItalic - курсив.
  4. FsUnderline - подчёркнутый шрифт.
  5. FsBoldItalic - жирный курсив.
  6. FsBoldUnderline - жирный подчеркнутый шрифт.
  7. FsItalicUnderline - подчеркнутый курсив.
  8. FsBoldItalicUnderline - жирный подчеркнутый курсив

Графическое окно

[править]
Процедура момент функция Описание
procedure ClearWindow()
Очищает окно белым цветом.
procedure Clear(c: Color)
Очищает окно цветом c.
procedure SetWindowIsFixedSize(s: boolean)
Зафиксирует размер графического окна если s = true, в противном случае - пользователь сможет изменять размеры окна.
procedure SetWindowWidth(w: integer)
Установит ширину графического окна, равную w.
procedure SetWindowHeight(h: integer)
Установит высоту графического окна, равную h.
procedure NormalizeWindow()
Установит размеры и позицию графического окна, какие они были до сворачивания или разворачивается окна.
procedure MinimizeWindow()
Сворачивает графическое окно.
procedure MaximizeWindow()
Разворачивает во весь экран графическое окно.

Примеры

[править]

Графика в PascalABC.Net