Иллюстрированный самоучитель по Turbo Pascal

Линии и точки

Процедура PutPixel

Выводит заданным цветом точку по указанным координатам. Заголовок:

Procedure PutPixel(X,Y: Integer; Color: Word);

Здесь:

  • X, Y – координаты точки;
  • Color – цвет точки.

Координаты задаются относительно левого верхнего угла окна или, если окно не установлено, относительно левого верхнего угла экрана.

Следующая программа периодически выводит на экран "звездное небо" и затем гасит его. Для выхода из программы нажмите любую клавишу.

Uses CRT, Graph;
type
PixelType = record
x, у: Integer; end;
const
N = 5000; {Количество "звезд"}
var
d,r,e,k: Integer;
x1,y1,x2,y2: Integer;
a: array [1..N] of PixelType; {Координаты}
begin
{Инициируем графику}
d: = Detect; InitGraph(d, r, ' ');
e: = GraphResult; if e<>grOk then
WriteLn(GraphErrorMsg(e))
else
begin
{Создаем окно в центре экрана}
x1: = GetMaxX div 4;
y1: = GetMaxY div 4;
x2: = 3*x1;
y2: = 3*y1;
Rectangle(x1,y1,x2,y2);
SetViewPort(x1+1,y1+1,x2-1,y2-1,ClipOn);
{Создаем и запоминаем координаты всех "звезд"}
for k: = 1 to N do with a[k] do begin
x: = Random(x2-x1);
у: = Random(y2-y1)
end;
{Цикл вывода}
repeat
for k: = 1 to N do
with a[k] do {Зажигаем "звезду"}
PutPixel(x,y,white);
if not KeyPressed then
for k: = N downto 1 do with a[k] do {Гасим "звезду"}
PutPixel(x,y,black)
until KeyPressed;
while KeyPressed do k: = ord(ReadKey);
CloseGraph
end;
end.

Функция GetPixel

Возвращает значение типа Word, содержащее цвет пикселя с указанными координатами. Заголовок:

Function GetPixel(X,Y: Integer): Word;

Здесь X, Y – координаты пикселя.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.