Interested Article - Borland Graphics Interface
- 2020-02-10
- 1
Borland Graphics Interface
(
англ.
Графический интерфейс Borland
), также известный как
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 или и 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;
}
Ссылки
- "Computer Graphics", ISRD Group, 2006. ISBN 0070593760
- от 26 августа 2018 на Wayback Machine , от 26 августа 2018 на Wayback Machine
- Turbo C++ 3.0 User's Guide. Borland International, Inc. 1992.
- Borland C++ Library Reference. Borland International, Inc. 1992.
Внешние ссылки
- порт BGI для Microsoft Windows; предоставляет несколько расширений.
- The содержит подсистему BGI, по большей части совместимую с оригинальным BGI.
- WinBGI и Xbgi, часть , довольно полные реализации BGI для Microsoft Windows и X11. Последняя версия доступна здесь: .
- кроссплатформенный порт, написанный на SDL2; предоставляет несколько расширений.
- ещё один порт для Microsoft Windows.
- реализация BGI для GNU/Linux, написанная на SDL1.
- 2020-02-10
- 1