首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言問答

C語言圖形庫 initgraph/graphresult 參數詳解:BGI 圖形模式初始化流程

     編輯:C 語言問答

函數原型 (Borland BGI / EasyX 兼容)


void initgraph(int *graphdriver, int *graphmode, const char *pathtodriver);
int graphresult(void);

參數含義

參數說明典型值
graphdriver輸出參數,返回檢測到的圖形驅動程式代碼VGA, EGA, DETECT (自動檢測)
graphmode輸出參數,返回選定的圖形模式 (分辨率/色深)VGAHI (640x480x16色)
pathtodriver驅動程式文件路徑 (.bgi),空字串 "" 表示當前目錄/系統路徑"", "C:\\TC\\BGI"

標準初始化流程


#include 
#include 

int main() {
    int gd = DETECT, gm;
    initgraph(&gd, &gm, "");  // 空字串:搜尋當前目錄/環境變量
    int err = graphresult();
    if (err != grOk) {
        printf("圖形初始化失敗: %s\n", grapherrormsg(err));
        return 1;
    }
    // ... 繪圖代碼 ...
    closegraph();  // 釋放資源,恢復文本模式
    return 0;
}

常見錯誤代碼

錯誤碼常量原因
-1grNotDetected未檢測到圖形硬體/驅動
-2grFileNotFound找不到 .bgi 驅動文件
-3grInvalidDriver驅動文件損壞/版本不匹配
-4grNoLoadMem內存不足無法加載驅動
-5grNoScanMem內存不足無法掃描驅動

現代替代方案 (推薦)

  • EasyX (Windows):initgraph(640, 480) 簡化版,無需 BGI,支援中文、圖片、音頻。
  • SDL2 / SFML / Raylib:跨平台、硬體加速、現代 C/C++ API。
  • OpenGL / Vulkan:專業 3D/2D 渲染管線。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved