понедельник, 11 февраля 2013 г.

Графика в PABC

1. Модуль GraphABC

Графика в Паскале создаются при помощи модуля GraphABC, который подключается в начале программы:
Uses GraphABC;
Система координат выглядит следующим образом:

SetWindowHeight(h); - Устанавливает высоту графического окна
SetWindowWidth(w); - Устанавливает ширину графического окна
ClearWindow; - очищает графическое окно белым цветом.
ClearWindow(color); - очищает графическое окно указанным цветом.

2. Задание цвета 

Стандартные цвета задаются символическими константами:
clBlack – черный
clPurple – фиолетовый
clWhite – белый
clMaroon – темно-красный
clRed – красный
clNavy – темно-синий
clGreen – зеленый
clBrown – коричневый
clBlue – синий
clSkyBlue – голубой
clYellow – желтый
clCream – кремовый
clAqua – бирюзовый
clOlive – оливковый
clFuchsia – сиреневый
clTeal – сине-зеленый
clGray – темно-серый
clLime – ярко-зеленый
clMoneyGreen – цвет зеленых денег
clLtGray – светло-серый
clDkGray – темно-серый
clMedGray – серый
clSilver – серебряный
Цвет также можно задать с помощью палитры RGB для это за место color пишется rgb(r,g,b): где r,b,g - числа от 0 до 255
Задание для самостоятельного решения.
Напишите программу, которая задает окно 200х100 пиксел и закрашивает его по очереди в любые пять цветов. Имейте ввиду, что это закрашивание происходит мгновенно и надо придумать задержку для того, что бы увидеть все пять окрашиваний.

3. Прямоугольник, овал, заливка

Rectangle(x1,y1,x2,y2) - рисует контур прямоугольника со сторонами параллельными сторонам экрана. Точки с координатами (x1, y1) и (x2, y2) определяют диагональные вершины прямоугольника.
Circle(x,y, radius) - рисует окружность с центром в точке с координатами (x,y) и радиусом radius.
FloodFill(x,y,color) - заливает область одного цвета цветом color, начиная с точки (x,y).
SetPenWidth(w) - устанавливает ширину пера, равную w пикселам.
Пример программы, рисующей пирамидку:
Uses GraphABC;
begin
  SetWindowHeight(400);
  SetWindowWidth(500);
  ClearWindow(clSilver );
  SetPenWidth(10);
  Rectangle(100,400,400,300);
  FloodFill(150,350,clRed);
  Rectangle(150,300,350,200);
  FloodFill(170,280,clYellow);
  Rectangle(200,200,300,100);
  FloodFill(220,180,clLime);
end.


Комментариев нет:

Отправить комментарий