初學者常問:C語言能直接畫圖嗎?答案是:標準 C 語言(ANSI C)本身不包含圖形函式庫,僅能透過 printf 輸出字元組成的簡單圖形。若需繪製真正的圖形使用者介面(GUI),必須引入平台相關的圖形庫。
利用迴圈列印 *、# 等字元,可在主控台繪製三角形、菱形、心形等。
// 列印直角三角形
for (int i = 1; i <= 5; i++) {
for (int j = 0; j < i; j++) printf("*");
printf("\n");
}
GetDC、LineTo、Ellipse 等 GDI 函數直接在視窗繪圖,適合理解底層機制。CDC、CBitmap 等類別,開發效率較高,適合傳統桌面應用。| 庫名稱 | 特點 | 適用場景 |
|---|---|---|
| SDL2 | C 原生、跨平台、底層控制 | 遊戲、多媒體、即時渲染 |
| SFML | C++ 物件導向、模組化 | 2D 遊戲、圖形應用 |
| OpenGL / Vulkan | 硬體加速 3D/2D | 高效能繪圖、CAD、遊戲引擎 |
| GTK / Qt | 完整 GUI 框架 | 桌面應用程式開發 |
| Cairo | 向量繪圖、輸出 PDF/PNG/SVG | 報表生成、圖表繪製 |