Линии и точки
Процедура 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 – координаты пикселя.