Jump to content

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

Графический интерфейс 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и в Паскале через 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(BLACK);
  cleardevice();
  outtextxy(0, 0, "Drawing 1000 lines...");
  for (i = 0; i < 1000; i++) {
    setcolor(1 + random(15));
    line(random(getmaxx()), random(getmaxy()), 
         random(getmaxx()), random(getmaxy()));
  }
  getch();
  closegraph();
  return 0;
}

См. также

[ редактировать ]
  1. ^ «Компьютерная графика», Группа ISRD, 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. ^ Ссылка на раздел «График»: Процедуры и функции.
[ редактировать ]
  • SDL_bgi — мультиплатформенный порт, написанный на SDL2; он предоставляет несколько расширений.
  • Winbgim — это порт BGI для Microsoft Windows; он предоставляет несколько расширений.
  • Графическая библиотека GRX содержит подсистему BGI, в основном совместимую с исходным BGI.
  • Библиотека OpenBGI — еще один порт для Microsoft Windows.
  • libgraph — это реализация BGI для Linux, написанная на SDL1.
  • Страница Fileformat.info о chr содержит некоторую информацию о том, как декодировать шрифт Borland CHR.
  • FTP-зеркало sunet.se с некоторыми инструментами для шрифтов CHR.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fa1b9d6f26996ba353d8f9fcf4481b24__1712156940
URL1:https://arc.ask3.ru/arc/aa/fa/24/fa1b9d6f26996ba353d8f9fcf4481b24.html
Заголовок, (Title) документа по адресу, URL1:
Borland Graphics Interface - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)