C語言是怎麼實現圖形界面的?

NullExplode


C語言從底開始寫圖形界面(現在基本不採用)

FC十大中文遊戲,有魂鬥羅系列、赤色要塞、重裝機兵、淘金者、超級馬里奧兄弟、坦克大戰、松鼠大作戰、惡魔城、俄羅斯方塊等等,這些FC經典遊戲基本都是採用從底層直接寫圖形。

使用第三方庫

用圖形庫是EsayX,支持VC++,VS,底層還是windows編程。操作簡單,實用性方便。(近期寫的電子相冊如下)

特別說明:學習C/C++基礎的時候,我們調用的是dos 窗口,windows自帶的終端處理窗口,是沒有屬於自己的可視化窗口。


C語言基礎


想必你問的是windows上用C實現圖形界面,另外有些回答說C必須調用庫才能實現圖形界面。看得出,很多都是沒有寫過驅動的。首先,我們有一個顯示器,顯示器是一個個小點組成的。顯示器有很多種接口,CPU/GPU通過這個接口(操作寄存器)和顯示器通訊,在上面畫上一個個點。然後點連成線,點變成圓。。。等等基本圖形,把這些封裝成函數,加之封裝填充之類的函數,構成了最底層的GUI。後面又經過抽象,有圖層等的概念。這就是圖形庫了。然後各種語言調用圖形庫完成顯示。C語言完全可以從底開始寫圖形界面。但是沒必要。


Suaig


如果不想那麼複雜,最簡陋的辦法,C語言可以畫線、圓、點、方等等。很多年前我嘗試自己畫過,其實玩玩也挺好玩的[呲牙]


智能時代新農人


去找本《編碼》這書看下。理解顯示器原理,開關電路,代碼控制開關顯示燈這些。


dade888


大二微機原理,上機考試就是使用匯編寫一個圖形輸入輸出界面,使用BIOS中斷來畫屏幕上的每個座標、每個色彩、每個像素……直到現在也忘不了。


RaymondIT


語言就是語言,圖形相關框架是操作系統提供的,操作系統提供這些圖形api接口可以多種語言形式提供,比如win下實現ui界面,可以調用微軟提供的platform adk中的c/c++接口,也可以用c#,vb封裝的sdk接口來做,還可以用跨平臺的QT來做ui,這些不同的sdk接口只是上層封裝提供的接口不同罷了。


BinaryHead


C語言實現圖形界面可以使用第三方圖形庫,目前市面上有很多圖形庫,你可以自行去網上查閱一下,我用圖形庫是EsayX,支持VC++6.0,VS2008-2019各個版本。


分享到:


相關文章: