Модуль Graph

Все что позволяет делать модуль Crt на самом деле является псевдографикой, т.к. изображение формируется из символов (букв, цифр, кавычек и др.) в текстовом режиме.

Когда экран монитора работает в графическом режиме, то изображение на нем формируется из точек (пикселей), а не символов. Точка намного меньше символа, и, следовательно, на экране точек разместится куда больше, чем знакомест в текстовом режиме. Поэтому, несмотря на то, что система координат начинается также в левом верхнем углу, максимальные значения по двум осям намного больше, чем при работе с модулем Crt, и зависит от разрешения экрана. Отсчет в данном случае начинается с нуля.

Например, если размер экрана – 1024x768, то последняя точка имеет соответственно координаты 1023х767.

Чтобы при выполнении программы на Паскале запустился графический режим, требуется подключить модуль Graph.

Попробуем запустить графический режим и вывести что-нибудь на экран.

uses
    graph;
 
var
    g, h, i, x, y, c: integer;
 
begin
    g := detect;
    initgraph(g,h,'');
 
    setcolor(10);
    line(10,10, 300,300);
 
    x := 600;
    y := 500;
    randomize;
    for i := 1 to 50 do begin
        c := random (15);
        putpixel (x, y, c);
        x := x + 10;
        y := y - 5
    end;
 
readln
end.	

Использование detect позволяет определить тип графического драйвера автоматически.

Запуск графического режима выполняется с помощью процедуры initgraph. После этого на экране должно появиться окно, «работающее» в графическом режиме.

Процедура setcolor устанавливает цвет, которым в дальнейшем будут выводиться различные примитивы.

Процедура line выводит линию. Первые два числа – это одна координата, а третье и четвертое число – другая.

Процедура putpixel рисует точки. Помимо координаты она принимает третий аргумент – цвет точки.

Комментарии

почему в турбо паскале (я уже переместил graph.tpu в папку с сохраненными прогами) работая с модулем graph программа работает, но при включении окно с программой сразу же отключается?

Ответ на от Гость

Если компилятор ругается на graph.tpu, значит эта версия tp вообще не совместима с этим модулем (подробнее не расскажу - у меня только эмпирические данные). такая ерунда есть, в частности, в 7.1. Нужно взять другую версию. Как вариант, более раннюю.

Добавить комментарий