RSS    

   Вопросы и ответы к экзаменам В-1 - (шпаргалка)

p>Для запуска программы с использованием модуля GRAPH необходимо, чтобы в рабочем каталоге находились графические драйверы с расширением . BGI, также должен быть доступен компилятору модуль GRAPH. TPU.

Файл BGI - графический интерфейс. Он обеспечивает взаимодействие программ с графическими устройствами.

    В начале программы модуль GRAPH должен быть подключен
    PROGRAM
    USES GRAPH;
    описание меток, переменных программы, в частности
    VAR driver, Mode: integer;
    Begin
    Далее инициализируется графический режим работы процедурой
    InitGraph(, :integer;
    : string);

Графическая информация на экране дисплея отражается совокупностью светящихся точек - ПИКСЕЛЕЙ.

    Режим по вертикали: 0 - 200 пикселей (4 страницы),

1 - 350 пикселей (2 страницы), 2 - 480 пикселей (1 страница). Режим 2 (640х480, 16 цветов, 1 страница)

    В текстовом режиме координаты верхнего угла (1, 1).
    центр (319, 239)
    нижнего (639, 479)

Тип драйвера допускается указывать =0, тогда он устанавливается по результатам тестирования (авто определение). Путь определяет маршрут поиска графического драйвера.

      Пример:
    USES GRAPH;
    Const driver, mode: integer;
    Begin
    driver: =VGA; (9)
    mode: =VGAH; (2)
    InitGraph(driver, mode, 'e: \TP\BGI'); тип string.

DetectGraph(var Diver, Mode: integer) - возвращает тип драйвера и текущий режим его работы.

    Основные цвета задаются от 0 до 15:
    0- черный 8 - темно-синий
    1- синий 9 - ярко-синий
    2- зеленый 10 - ярко-зеленый
    3- голубой 11 - ярко-голубой
    4- красный 12 - розовый
    5- фиолетовый 13 - малиновый
    6- коричневый 14- желтый
    7 - светло-серый 15- белый.

Если Х и У вещественные , то их нужно преобразовать к целым координатам (в пределах раздела экрана). Для этого используются функции ROUND или TRUNC прямого преобразования к целому значению LineTo(trunc(x), trunc(y)); Также необходимо следить, чтобы значения не выходили за пределы экрана (рассчитывайте коэффициенты увеличения или уменьшения и пара метры смещения)

    ПРОЦЕДУРЫ И ФУНКЦИИ модуля GRAPH
    установочные

ClearDevice - Очищает экран и помещает курсор в точку (0, 0); SetViewPort(x1, y1, x2, y2: integer; Clip: boolean) - Устанавливает текущее окно для графического вывода. X1, y1 –координата верхнего левого угла; x2, y2 - координата нижнего правого угла. Если Clip=true, то все изображения отсекаются на границах вывода; ClearViewPort - Очищает текущее окно;

GetMax X: integer - возвращает максимальную горизонтальную координату графического экрана;

GetMax Y : integer - возвращает максимальную вертикальную координату графического экрана;

Get X: integer - возвращает координату Х текущего указателя в окне; Get Y: integer - возвращает координату Y курсора в окне;

SetLineStyle(Line, Pattern, Thickness: word) - Устанавливает стиль (0...4), шаблон штриховки (0...12) и толщину (1-ноpм, 3-утpоенная); SetFillStyle(Pattern, Color: word) - Устанавливает образец штриховки и цвет (0...15 и 128-меpцание);

SetGraphMode(Mode: integer) - Устанавливает новый графический режим и очищает экран;

SetColor(Color: word) - Устанавливает основной цвет, которым выполняется рисование (0...15);

    SetBkColor(Color: word) - Установка цвета фона.
    Гpафические примитивы

PutPixel(X, Y: integer; Color: word) - Выводит точку цветом Color с координатой X, Y;

LineTO(X, Y: integer) - Рисует линию от текущего указателя к точке с координатой Х, У;

LineRel(DX, DY: integer) - Рисует линию от текущего указателя к точке, заданной приращением координат;

Line(X1, Y1, X2, Y2: integer) - Рисует линию от точки (X1, Y1) к точке с координатой Х2, У2;

MoveTO(X, Y: integer) - Смещает текущий указатель к точке с координатой Х, У; MoveRel(DX, DY: integer) - Смещает текущий указатель к точке, заданной приращением координат;

Rectangle(X1, Y1, X2, Y2: integer) - Рисует прямоугольник, используя текущий цвет и тип линии по верхней левой и нижней правой точкам; Bar(X1, Y1, X2, Y2: integer) - Рисует закрашенный прямоугольник, используя установку SetFillStyle;

Bar3D(X1, Y1, X2, Y2: integer; Depth: word; Top: Bolean) - Рисует закрашенный паpаллелипипед. Depth - глубина в Pixel (1/4 ширины).

    Если Тор=True, то рисуется верхняя грань пеpеллелипипеда;

Circle(X, Y: integer; R: word) - Рисует окружность радиуса R, используя X, Y как координаты центра;

Fillellipse(X, Y: integer; XR, YR: word) - Рисует защтpихованный эллипс, используя X, Y как центр и XR, YR как горизонтальный и

    вертикальный радиусы.

RestorCRTMode - Восстанавливает текстовый режим работы экрана; OutText(Text: string) - Выводит текстовую строку на экран.

OutTextXY(X, Y: integer; Text: string) - Выводит текст в заданное место экрана.

    Пример программы построения графика функции у=2+х*х.

program graphik; {файл grafikf. pas} uses graph; {подключение модуля GRAPF}

var a, b, x, y: integer; {a, b-переменные, определяющие тип драйвера и видеорежим соответственно}

    begin

detectgraph(a, b); {авто определение типа драйвера и видеорежима} initgraph (a, b, 'E: \TP\BGI'); {инициализация графического режима} setgraphmode(2); {установка нового режима (2), очистка экрана} setBKcolor(0); {основной цвет фона - черный}

    setcolor(4); {основной цвет рисования - красный}
    moveTO(100, 100); {смещает курсор}

lineRel(50, 50); {вычерчивание линии по приращению от текущего указателя}

    readln; {пауза до нажатия клавиши }
    setcolor(2); {основной цвет рисования - зеленый}

line(100, 100, 100, 50); {рисует линию от т. Х1, У2 до т. Х2, У2}

    readln; {пауза до нажатия }
    setcolor(5); {основной цвет рисования - фиолетовый}

putPixel(0, 0, 12); {выводит точку цветом 12 с координатой 0, 0} readln; {пауза до нажатия }

    moveTO(1, 2); {смещает курсор к точке с координатой 1, 2}
    for x: =0 to 20 do
    begin
    y: =2+ x*x;
    lineTO(x, y); {рисует линию от текущего
    указателя к точке с координатой Х, У}
    end;
    readln; {пауза до нажатия ввода}
    Settextstyle(1, 0, 5);

OutTextXY(50, 400, 'график функции у=2+х*х'); {выводит текст в заданное место экрана}

    readln; {пауза до нажатия }

putPixel(639, 479, 14); {выводит точку цветом 14 с координатой 639, 479} readln; {пауза до нажатия }

closegraph; {закрывает графический режим и восстанавливает текстовый} end.

    Begin
    driver: =VGA; (9)
    mode: =VGAH; (2)
    InitGraph(driver, mode, 'e: \TP\BGI'); тип string.

DetectGraph(var Diver, Mode: integer) - возвращает тип драйвера и текущий режим его работы.

    Основные цвета задаются от 0 до 15:
    0- черный 8 - темно-синий
    1- синий 9 - ярко-синий
    2- зеленый 10 - ярко-зеленый
    3- голубой 11 - ярко-голубой
    4- красный 12 - розовый
    5- фиолетовый 13 - малиновый
    6- коричневый 14- желтый
    7 - светло-серый 15- белый.

Если Х и У вещественные , то их нужно преобразовать к целым координатам (в пределах раздела экрана). Для этого используются функции ROUND или TRUNC прямого преобразования к целому значению LineTo(trunc(x), trunc(y)); Также необходимо следить, чтобы значения не выходили за пределы экрана (рассчитывайте коэффициенты увеличения или уменьшения и пара метры смещения)

    ПРОЦЕДУРЫ И ФУНКЦИИ модуля GRAPH
    установочные

ClearDevice - Очищает экран и помещает курсор в точку (0, 0); SetViewPort(x1, y1, x2, y2: integer; Clip: boolean) - Устанавливает текущее окно для графического вывода. X1, y1 - координата

верхнего левого угла; x2, y2 - координата нижнего правого угла. Если Clip=true, то все изображения отсекаются на границах вывода; ClearViewPort - Очищает текущее окно;

GetMaxX: integer - возвращает максимальную горизонтальную координату графического экрана;

GetMaxY: integer - возвращает максимальную вертикальную координату графического экрана;

GetX: integer - возвращает координату Х текущего указателя в окне; GetY: integer - возвращает координату Y курсора в окне;

SetLineStyle(Line, Pattern, Thickness: word) - Устанавливает стиль (0...4), шаблон штриховки (0...12) и толщину (1-ноpм, 3-утpоенная); SetFillStyle(Pattern, Color: word) - Устанавливает образец штриховки и цвет (0...15 и 128-меpцание);

SetGraphMode(Mode: integer) - Устанавливает новый графический режим и очищает экран;

Страницы: 1, 2, 3, 4, 5, 6


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.