Borland Graphics Interface

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

Borland Graphics Interface

BGIdemoCollage
Тип библиотека или фреймворк
Разработчик Borland
Написана на C++
Операционная система DOS
Первый выпуск 1987
Состояние поддержка прекращена

Последняя среда разработки под 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 рассматривается, как наиболее простой, для программирования графики. [1]

Сторонние драйвера BGI

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

В 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;
}

Ссылки

  1. "Computer Graphics", ISRD Group, 2006. ISBN 0070593760
  2. Freeware BGI drivers, Jordan Hargraphix BGI drivers

Внешние ссылки

  • 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.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.