Какие
бы изображения не выводились на экран, все
они построены из точек, теоретически можно
создать любое изображение путем построения
точек определенного цвета в нужном
месте экрана. В библиотеке Graph вывод
точки осуществляется процедурой
PutPixel
(x, y: integer, color:word);
где
x, y: координаты расположения точки, color –
цвет.
Возможные
значения Color
приведены в таблице:
Цвет |
Код |
Цвет
|
Код |
Black
– черный |
0 |
DarkGray
– темно-серый |
8 |
Blue
– синий |
1 |
LightBlue
– голубой |
9 |
Green
- зеленый |
2 |
LightGreen
– ярко-зеленый |
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.
<<<Предыдущий урок | К содержанию | Следующий урок>>>