बोरलैंड ग्राफिक्स इंटरफ़ेस

From Vigyanwiki
Revision as of 10:32, 9 June 2023 by alpha>Neetua08
Borland Graphics Interface
Written inC++
PlatformDOS
Typelibrary or framework

बोरलैंड ग्राफिक्स इंटरफेस, जिसे बीजीआई के रूप में भी जाना जाता है, 1987 से डॉस ऑपरेटिंग प्रणाली के लिए कई बोरलैंड कंपाइलर्स के साथ बंडल की गई ग्राफिक्स लाइब्रेरी थी। बीजीआई का उपयोग क्वाट्रो प्रो स्प्रेडशीट सहित कई अन्य बोरलैंड उत्पादों के लिए ग्राफिक्स प्रदान करने के लिए भी किया गया था।

उपकरण स्वतंत्र ग्राफिक्स समर्थन प्रदान करने के लिए लाइब्रेरी ने डिस्क से ग्राफिक चालक (*.BGI) और वेक्टर फोंट (*.CHR) लोड किए। कंपाइलर (bgiobj.exe). द्वारा प्रदान की गई उपयोगिता की सहायता से ग्राफिक चालक को ऑब्जेक्ट कोड के रूप में जोड़कर ग्राफिक चालक को निष्पादन योग्य फ़ाइल में एम्बेड करना प्रोग्रामर के लिए संभव था। उस समय के सामान्य ग्राफ़िक एडेप्टर और प्रिंटर के लिए ग्राफ़िक चालक थे जैसे CGA, EGA, VGA, Hercules, एटी एंड टी 400, एमसीजीए और 3270 पीसी। कुछ प्रकार के प्लॉटर्स के लिए बीजीआई चालक भी थे।

डॉस के लिए अंतिम बोरलैंड का C++ आईडीई बोरलैंड C++ 3.1 (1992) है। अंतिम C++ पर्यावरण जो बीजीआई का समर्थन करता है वह बोरलैंड C++ 5.02 (1997) है, जो विंडोज के तहत काम करता है किंतु डॉस प्रोग्राम को संकलित कर सकता है। बीजीआई को C/C++ में graphics.lib / graphics.h, के साथ और पास्कल में graph यूनिट के जरिए एक्सेस किया जा सकता था।

बीजीआई सरल डायरेक्टमीडिया परत या ओपन जीएल जैसे आधुनिक ग्राफिक्स पुस्तकालयों से कम शक्तिशाली था, क्योंकि इसे इवेंट-आधारित 3डी अनुप्रयोगों के अतिरिक्त 2डी प्रस्तुति ग्राफिक्स के लिए डिज़ाइन किया गया था। चूँकि इसे कोड के लिए सरल माना गया है।[1] बीजीआईऔर टर्बो C++, चूँकि अप्रचलित हैं अभी भी भारत में शिक्षा में व्यापक रूप से उपयोग किए जाते हैं।[2][3]

तृतीय-पक्ष बीजीआई ड्राइवर

बोरलैंड कंपाइलर्स की लोकप्रियता को देखते हुए, कुछ स्वतंत्र सॉफ्टवेयर डेवलपर्स ने गैर-मानक वीडियो मोड, उन्नत वीडियो कार्ड, प्लॉटर, प्रिंटर और ग्राफिक्स फाइल आउटपुट के लिए बीजीआई चालको का उत्पादन किया।[4]

1994 में जॉर्डन हार्ग्राफिक्स सॉफ्टवेयर ने एसवीजीए बीजीआई चालक संस्करण 5.5 जारी किया जो कुछ एसवीजीए हार्डवेयर जैसे एटीआई टेक्नोलॉजीज इंक या सिरस तर्क कार्ड और वीईएसए वीबीई-संगत कार्ड के साथ संगत है। इसके अतिरिक्त वीजीए द्वारा समर्थित गैर-मानक ग्राफ़िक मोड के लिए वीजीए चालक सीधे अपने रजिस्टरों में लिखकर, टर्बो पास्कल 7.0 के लिए संरक्षित मोड चालक संस्करण और माउस चालक (वास्तव में मानक माउस चालको द्वारा असमर्थित वीडियो मोड के लिए कर्सर हैंडलर) के लिए ट्वीक किए गए वीजीए चालक हैं। ये चालक शेयरवेयर थे और उन्हें खरीदकर अपना सोर्स कोड और तकनीकी सहायता प्राप्त करते थे; अब वे समर्थित नहीं हैं, किंतु 19 दिसंबर 2020 को जॉर्डन हार्ग्रेव ने गिटहब पर एमआईटी लाइसेंस के तहत स्रोत कोड जारी किया।[5] मुख्य बग वीईएसए कलर डेप्थ या ट्रू कलर (24-बिट) ट्रू-कलर मोड्स (इसलिए ट्रू-कलर चालक एनवीडिया ग्राफिक कार्ड के लिए उपयुक्त नहीं है) और माउस चालक में वीडियो स्मृति बैंक स्विचिंग बग में बाइट समर्थन की कमी है। चूंकि वास्तविक मोड एड्रेसिंग स्पेस 1 मेगाबाइट है, किंतु कुछ वीडियो मोड में 4 मेगाबाइट तक मेमोरी की आवश्यकता होती है, इसे 64 किलोबाइट बैंकों में विभाजित किया जाता है)।

विरासत

एक बीजीआई-संगत पुस्तकालय, जिसका नाम है Graph फ़्री पास्कल पास्कल कंपाइलर में सम्मिलित है।[6] वर्तमान ऑपरेटिंग प्रणाली के लिए कई बीजीआई कार्यान्वयन भी उपलब्ध हैं (बाहरी लिंक देखें।)

उदाहरण

बोरलैंड टर्बो सी के लिए लिखा गया निम्नलिखित प्रोग्राम, ग्राफिक्स को प्रारंभ करता है और 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. "Computer Graphics", ISRD Group, 2006. ISBN 0070593760
  2. Indian engineering colleges are terrible at approaching technology
  3. Why is Turbo C++ still being used in Indian schools and colleges?
  4. Freeware BGI drivers, Jordan Hargraphix BGI drivers, Knight Software BGI256
  5. SuperVGA BGI Drivers for Turbo C/Turbo Pascal/Borland C++
  6. Reference for unit 'Graph': Procedures and functions


बाहरी संबंध

  • SDL_bgi is a multiplatform port written in SDL2; it provides several extensions.
  • Winbgim is a port of BGI for Microsoft Windows; it provides several extensions.
  • The GRX graphics library contains a BGI subsystem, mostly compatible with the original BGI.
  • OpenBGI library is another port for Microsoft Windows.
  • libgraph is a BGI implementation for Linux written in SDL1.
  • Fileformat.info page about chr contains some information on how to decode Borland CHR font.
  • sunet.se ftp mirror with some CHR font tools.