Borland Graphics Interface (), также известный как BGI, представляет собой графическую библиотеку, входящую в программные пакеты нескольких компиляторов компании Borland для операционной системы DOS с 1987 года. Также BGI используется для поддержки графики в других программных продуктах Borland, включая электронные таблицы Quattro. Библиотека загружает графические драйверы (*.BGI) и векторные шрифты (*.CHR) с диска для обеспечения устройство-независимой поддержки графики. Также существует возможность встроить графический драйвер в исполняемый файл путём компоновки его в виде объектного кода с помощью специальной утилиты, входящей в пакет компилятора (bgiobj.exe). Существует множество драйверов для различных графических адаптеров того времени таких, как CGA, EGA и VGA, а также принтеров и некоторых типов плоттеров.

Последняя среда разработки под DOS для языка C++ от Borland была Borland C++ 3.1 (1992). Последняя среда разработки, в принципе поддерживающая BGI, была Borland C++ 5.02 (1997), которая, несмотря на то, что работала под операционной системой Windows, имела функционал для компиляции программ для DOS. Интерфейс BGI доступен в C/C++ через библиотеку graphics.lib и путём подключения заголовочного файла graphics.h, а в среде Borland Pascal для соответствующего языка программирования — через модуль Graph.

Библиотека BGI, безусловно, менее мощная, чем современные графические библиотеки, вроде SDL или OpenGL, хотя она была разработана для презентации графических возможностей, а не событийно-ориентированных 3D-приложений. Тем не менее, интерфейс BGI рассматривается, как наиболее простой, для программирования графики.

Сторонние драйвера BGI На волне популярности компиляторов Borland, несколько независимых разработчиков программного обеспечения создавали собственные BGI-драйверы для нестандартных видеорежимов, современных видеокарт, принтеров, плоттеров и графического вывода в файл.

В 1994 компания Jordan Hargraphix Software выпустила BGI-драйверы для видеорежима SVGA версии 5.5, которые стали совместимы с некоторыми SVGA-адаптерами, среди которых ATI или Cirrus Logic и VESA- и VBE-совместимые карты. Также существовали модифицированные драйверы для нестандартных графических режимов VGA путём записи напрямую в регистры видеоадаптера и драйверы для защищённого режима для Turbo Pascal 7.0. Эти драйверы распространялись по типу shareware и при их приобретении высылался их исходный код и обеспечивалась техническая поддержка, хотя теперь они больше не поддерживаются и стали abandonware.

Пример Следующая программа, написанная на языке C++, рисует 1000 линий случайных цветов и в случайных местах.

#include <stdio.h> #include <stdlib.h> #include <graphics.h>

int main (void) { int i, gd, gm;

gd = DETECT; initgraph (&gd, &gm, ""); setbkcolor (BLACK); cleardevice (); outtextxy (0, 0, "Рисую 1000 линий..."); for (i = 0; i < 1000; i++) { setcolor (1 + random (15)); line ( random(getmaxx()), random(getmaxy()), random(getmaxx()), random(getmaxy()) );

getch (); closegraph (); return 0; }

Ссылки

Turbo C++ 3.0 User's Guide. Borland International, Inc. 1992. Borland C++ Library Reference. Borland International, Inc. 1992. Borland Graphics Interface (BGI) Documentation

Внешние ссылки Winbgim порт BGI для Microsoft Windows; предоставляет несколько расширений. The GRX graphics library содержит подсистему BGI, по большей части совместимую с оригинальным BGI. WinBGI и Xbgi, часть ptoc, довольно полные реализации BGI для Microsoft Windows и X11. Последняя версия доступна здесь: SourceForge. SDL_bgi кроссплатформенный порт, написанный на SDL2; предоставляет несколько расширений. OpenBGI library ещё один порт для Microsoft Windows. libgraph реализация BGI для GNU/Linux, написанная на SDL1.

Категория:Графические библиотеки Категория:Программное обеспечение Borland Категория:Библиотеки растровой графики