Giao diện đồ họa Borland

thư viện đồ họa đi kèm với trình biên dịch Borland cho hệ điều hành DOS, Windows 95, Windows 98

Giao diện đồ họa Borland (tiếng Anh: Borland Graphics Interface, viết tắt BGI) là thư viện đồ họa đi kèm với trình biên dịch Borland cho hệ điều hành DOS và các máy tính chạy hệ điều hành Windows 95, Windows 98. Bộ thư viện này đi kèm với IDE Borland C++ 3.1 (1992). Để sử dụng thư viện này trong lập trình C/C++ cần có 2 tệp: graphics.h và graphics.lib đối với hệ điều hành Windows, graphics.h và graphics.a trên các điều hành Linux. So với các thư viện đồ họa hiện đại như OpenGL, SDL thì BGI không thể sánh bằng, tuy nhiên vì tính đơn giản và dễ dàng sử dụng nên BGI vẫn còn sử dụng trong giảng dạy, học tập.

BGIdemoCollage

Các hàm được cung cấp trong thư viện BGI sửa

Màu trong BGI sửa

Có 16 màu chuẩn trong thư viện này:

Bảng giá trị màu và tên màu được định nghĩa trong thư viện
Giá trị Tên màu
0 BLACK
1 BLUE
2 GREEN
3 CYAN
4 RED
5 MAGENTA
6 BROWN
7 LIGHTGRAY
8 DARKGRAY
9 LIGHTGREEN
10 LIGHTBLUE
11 LIGHTCYAN
12 LIGHTRED
13 LIGHTMAGENTA
14 YELLOW
15 WHITE

Hàm khởi tạo màn hình đồ họa sửa

Trong thư viện có cung cấp cho hàm initgraph và hàm initwindow

Các hàm vẽ sửa

Ví dụ chương trình sử dụng BGI sửa

Đây là ví dụ 1 đoạn chương trình C được viết trên Borland Turbo C có sử dụng thư viện BGI:

#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
#define random(range) (rand() % (range))

int main (void)
{
  int i, gd, gm;

  gd = DETECT;
  initgraph (&gd, &gm, "");
  setbkcolor (BLACK);
  cleardevice ();

  for (i = 0; i < 1000; i++) {
    setcolor (1 + random (15));
    line (random(getmaxx()), random(getmaxy()),
    random(getmaxx()), random(getmaxy()));
  }
  getch ();
  closegraph ();
  return 0;
}

Một ví dụ về đoạn chương trình C được viết trên Visual Studio 2012 có sử dụng thư viện BGI:

#include "graphics.h"
#pragma comment(lib, "graphics.lib")
 
int main()
{
   int gd = DETECT, gm; 
   initgraph(&gd, &gm, "c:\\tc\\bgi");
   
   line(0, 200, 100, 200); // ve 1 duong thang
 
   getch();
   closegraph();   
 
   return 0;
}

Đọc thêm sửa

Tham khảo sửa