Язык:
Русский
English
Модуль Graph
В модуле Graph (GRAPH.TPU) находится библиотека, состоящая из более чем 50 графических подпрограмм от побитовых до подпрограмм высокого уровня.
Инициализация графики происходит вызовом InitGraph. Разрешение экрана обычно 640x480, количество цветов — 16. Стандартную палитру из 16 цветов можно посмотреть здесь. В режимах с 256 цветами первые 16 цветов обычно те же самые. Более высокие разрешения и количество цветов (например, 800x600, 256 цветов) можно получить, используя SVGA BGI драйверы. В School Pak для этого есть модуль ScpGraph. Он содержит процедуру InitScpGraph вместо InitGraph, а также некоторые вспомогательные функции для режимов High Color и True Color.
Большинство графических примитивов либо рисуются линией, либо закрашивают площадь. Когда графика инициализирована, в любой момент существуют текущий цвет линии и текущий цвет закраски, которые могут быть разными и меняются отдельно. Сразу после InitGraph обычно и линия, и закраска белые (цвет с максимальным номером в палитре). Цвет линии меняется вызовом SetColor, цвет закраски меняется вызовом SetFillStyle. Линия и закраска могут быть не сплошными, а по шаблону, который меняется SetLineStyle и SetFillStyle, соответственно. При помощи SetLineStyle можно ещё сделать линию толще в 3 раза.
Самые популярные графические процедуры:
- Line (линия), Rectangle (прямоугольник), Circle (окружность) — рисуют линиями
- Bar (закрашенный прямоугольник), FillEllipse (круг или закрашенный эллипс), FloodFill (заливка всего, что вокруг одной точки) — закрашивают площадь
- PutPixel и GetPixel — запись и чтение по пикселам
- OutTextXY — пишет текст либо пикселами, либо рисует линиями. DefaultFont — растровый шрифт, рисуется пикселами, все остальные шрифты векторные, рисуются линиями. Цвет задаётся SetColor
Кроме этого, некоторые процедуры имеют версии, работающие относительно текущей позиции. Текущая позиция меняется MoveTo, и относительно неё, например, работают LineTo и OutText.
Если нужно, чтобы изображение не пропадало до нажатия любой клавиши, можно использовать ReadKey или ReadLn. После завершения работы с графикой желательно вызывать CloseGraph.
Подробности
Функции и процедуры GRAPH.TPU
Константы и типы GRAPH.TPU
Сообщения об ошибках в графическом режиме
Примеры использования Graph
Компилирование
Для компилирования программы, использующей модуль Graph, нужно указать путь к файлу GRAPH.TPU (в строке ввода Options|Directories|Unit Directories) и иметь доступ к стандартным модулям в файле TURBO.TPL
Выполнение
Для запуска программы, использующей модуль Graph, вам будет нужен один (или несколько) графических драйверов (BGI файлов). Если ваша программа использует векторные шрифты, то в дополнение к драйверам, вам будут нужны ещё и файлы шрифтов (CHR).
Известные проблемы
BGI Error: Graphics not initialized (use InitGraph)
Процессор NTVDM обнаружил недопустимую инструкцию
Как сделать скриншот в графическом режиме Turbo Pascal?
Error 15: File not found (GRAPH.TPU)
Скачать
GRAPH.TPU (отдельно от School Pak)
EGAVGA.BGI (отдельно от School Pak)
См. также
ScpGraph — для работы с нестандартными режимам, в том числе SVGA