stringtranslate.com

Графический интерфейс Borland

Графический интерфейс Borland , также известный как BGI, представлял собой графическую библиотеку, входящую в состав нескольких компиляторов Borland для операционных систем DOS с 1987 года. BGI также использовался для предоставления графики для многих других продуктов Borland, включая электронную таблицу Quattro Pro .

Библиотека загружала графические драйверы ( *.BGI) и векторные шрифты ( *.CHR) с диска, чтобы обеспечить поддержку графики, независимую от устройства. Программист мог встроить графический драйвер в исполняемый файл, связав графический драйвер как объектный код с помощью утилиты, предоставляемой компилятором ( bgiobj.exe). Существовали графические драйверы для распространенных графических адаптеров и принтеров того времени, таких как CGA, EGA, VGA, Hercules, AT&T 400, MCGA и 3270 PC. Также существовали драйверы BGI для некоторых типов плоттеров.

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

BGI был менее мощным, чем современные графические библиотеки, такие как SDL или OpenGL , поскольку он был разработан для 2D-презентационной графики, а не для 3D-приложений, основанных на событиях. Однако считается, что его проще кодировать. [1] BGI и Turbo C++, хотя и устарели, до сих пор широко используются в образовании в Индии. [2] [3]

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

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

В 1994 году компания Jordan Hargraphix Software выпустила драйверы SVGA BGI версии 5.5, которые совместимы с некоторым оборудованием SVGA, например картами ATI или Cirrus Logic , а также картами, совместимыми с VESA VBE . Также имеются доработанные драйверы VGA для нестандартных графических режимов, поддерживаемых VGA путем записи непосредственно в его регистры, версии драйверов защищенного режима для Turbo Pascal 7.0 и драйвер мыши (фактически обработчик курсора для неподдерживаемых видеорежимов стандартными драйверами мыши). Эти драйверы были условно-бесплатными , и их покупка позволяла получить исходный код и техническую поддержку; сейчас они больше не поддерживаются, но 19 декабря 2020 года Джордан Харгрейв любезно выложил исходный код под лицензией MIT на GitHub . [5] Основными ошибками являются отсутствие поддержки выравнивания байтов в режимах истинного цвета VESA (поэтому драйвер истинного цвета не подходит для графических карт Nvidia ) и ошибка переключения банка видеопамяти в драйвере мыши (поскольку адресное пространство реального режима составляет 1 мегабайт). , но для некоторых видеорежимов требуется до 4 мегабайт памяти, она разбита на банки по 64 килобайта).

Наследие

BGI-совместимая библиотека под названием Graph, включена в компилятор Free Pascal Pascal. [6] Также доступно несколько реализаций BGI для современных операционных систем (см. Внешние ссылки).

Пример

Следующая программа, написанная для Borland Turbo C , инициализирует графику и рисует 1000 случайных линий:

#include <graphics.h> #include <conio.h> #include <stdlib.h>   int main ( int argc , char * argv []) { int i , gd = DETECT , gm ; initgraph ( & gd , & gm , "" ); setbkcolor ( ЧЕРНЫЙ ); очистить устройство (); outtextxy ( 0 , 0 , "Рисование 1000 строк..." ); for ( я = 0 ; я < 1000 ; я ++ ) { setcolor ( 1 + случайное ( 15 )); строка ( случайная ( getmaxx ()), случайная ( getmaxy ()), случайная ( getmaxx ()), случайная ( getmaxy ())); } Получить (); закрытьграфик (); вернуть 0 ; }                                         

Смотрите также

Рекомендации

  1. ^ «Компьютерная графика», ISRD Group, 2006. ISBN  0070593760
  2. ^ Индийские инженерные колледжи ужасно подходят к технологиям.
  3. ^ Почему Turbo C++ до сих пор используется в индийских школах и колледжах?
  4. ^ Бесплатные драйверы BGI, драйверы Jordan Hargraphix BGI, Knight Software BGI256
  5. ^ Драйверы SuperVGA BGI для Turbo C/Turbo Pascal/Borland C++
  6. ^ Ссылка на раздел «График»: Процедуры и функции.

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