Вывод простейших фигур

Какие бы изображения не выводились на экран, все они построены из точек, теоретически можно создать любое изображение путем построения точек определенного цвета в нужном месте экрана.
Вывод точки
В библиотеке Graph вывод точки осуществляется процедурой PutPixel(x, y: integer, color: word); - где x, y: координаты расположения точки, color – цвет.
Возможные значения Color приведены в таблице:
Цветовая шкала
Цвет Код Цвет Код
Black – черный 0 DarkGray – темно-серый 8
Blue – синий 1 LightBlue – голубой 9
Green - зелёный 2 LghtGreen – ярко-зеленый 10
Gyan – бирюзовый 3 LightGyan – ярко-бирюзовый 11
Red – красный 4 LightRed – ярко-красный 12
Magenta – малиновый 5 LightMagenta – ярко-малиновый 13
Brown – коричневый 6 Yellow – желтый 14
LightGray – светло-серый 7 White – белый 15
Пример:
PutPixel (320, 240, 4); или PutPixel (320, 240, Red); - выводит в центре экрана точку красного цвета.
Вывод линии
Из точек строятся линии (отрезки прямых). Это можно сделать с помощью процедуры Line(x1, y1, x2, y2: integer); - где x1, y1 – координаты начала, x2,y2 - координаты конца линии, например Line (1,1,600,1);
В процедуре Line нет параметра для установки цвета. В этом случае цвет задается процедурой SetColor(цвет: word); где цвет из таблицы 1.
Пример:
SetColor(Gyan);
Line(1,1,600,1);
Для черчения линий применяются еще две процедуры: LineTo и LineRel.
Процедура LineTo(x, y: integer) строит линию из точки текущего положения указателя в точку с координатами x,y. Процедура LineRel(dx,dy:integer) проводит линию от точки текущего расположения указателя x,y в точку x+dx, y+dy.
Турбо Паскаль позволяет вычерчивать линии самого различного стиля: тонкие, широкие, штриховые, пунктирные и т.д. Установка стиля производится процедурой SetLineStyle(a,b,c:>word),где a - устанавливает тип строки, возможные значения которого приведены в таблице 2; b – образец, с – толщина линии, определяемая константами, указанными в таблице 3. Если применяется один из стандартных стилей, то значение b равно 0. Если пользователь хочет активизировать собственный стиль, то значение b=4. В этом случае пользователь сам указывает примитив (образец), из которого строится линия.
Например
SetLineStyle(1, 0, 1);
Line(15, 15, 150, 130);

   или
SetLineStyle(UserBitLn, $5555, ThickWidth);
Line(15, 15, 150, 130);


таблица 2
Константа Значение Описание
SolidLn 0 Непрерывная линия
DottedLn 1 Линия из точек
CenterLn 2 Линия из точек и тире
DashedLn 3 Штриховая линия
UserBitLn 4 Тип пользователя
таблица 3
Константа Значение Описание
NormWidth 1 Нормальная толщина (1 пиксель)
ThickWidth 3 Жирная линия (3 пикселя)

Пример:
Написать программу, которая вычерчивает треугольник красной линией в центре экрана.
Program treug;
uses graph; { подключение библиотеки графических процедур}
var gd,gm:integer; {описание переменных, определяющих графический драйвер и монитор}
begin
  gd:=detect; {определение значений переменных по выбору ПК}
  initgraph (gd,gm,‘c:/bp’); {инициализация графического режима}
  SetColor (4); {задание цвета линии}
  SetLineStyle (1,0,3); {задание стиля линии}
  Line (320, 240, 320, 180);
  Line (320, 240, 390, 240);
  Line (390, 240, 320, 180);
end.


Опубликовал admin
16 Ноя, Воскресенье 2003г.



Программирование для чайников.