DC和RC的簡單介紹

2021-06-21 10:28:47 字數 694 閱讀 4938

dc

在windows下,使用gdi(圖形裝置介面)開發應用程式時,首先需要獲得乙個device context(裝置描述表,簡稱dc),然後才能在這個dc下完成繪圖工作,這一過程就類似於現實生活中紙和筆的關係,dc就是紙,而象刷子、畫筆這樣 的gdi物件就是筆(採用什麼樣的刷子和筆,或者什麼顏色都是dc提供的)。從windows內部執行機制來分析,dc應該理解為狀態保持器,就是它可以而且必須儲存當前系統的狀態,這些狀態包括:當前的畫 筆、刷子等gdi的具體型別(顏色、粗細等),當前的調色盤型別以及系統的其他資訊。當使用者開始在dc上進行繪製工作時,系統就會先檢視dc中相應的當前 狀態值,然後利用這些狀態值進行圖形繪製,假如希望改變當前狀態值,那麼可以通過selectobject這樣的win32函式來將指定的狀態或者對 象選入dc即可。   

rc

實際上基於opengl的應用程式也是這樣的,只是這裡不是直接在dc上進行繪製工作,而是通過render context(渲染描述表或者繪製描述表,簡稱為rc)這樣乙個橋梁在dc上進行繪製工作,對於程式來說實際上可以理解為就是在rc上繪製圖形。另外只 要rc不被釋放(有效),那麼就可以進行繪製工作;相比之下,dc卻需要不斷的建立和釋放。所以要使用opengl圖形庫進行圖形應用開發,首先要獲得rc,然後要將其設定為"當前rc",最後後面所有的繪製工作都是在"當前rc"下面進行的,直到"當前rc"無效為止。

RC與DC的介紹與使用

opengl的繪圖方式與windows一般的繪圖方式是不同的。主要區別如下 1 windows採用的是gdi繪圖 2 opengl採用的是渲染描述表rc繪圖。3 opengl使用的是特殊的畫素格式。在windows中使用gdi繪圖時必須指定在哪個裝置環境dc中繪製,同同樣的在使用opengl函式時也...

OC和DC的比較

1 將要傳送的資料分裝在模組 module 中,不同的模組可盛裝不同的資料,不同的模組又可集合在一起,形成以組 group 為單位的模組組 2 在module和group組中,使用者可根據實際需要傳送有關模組或組的資訊 通過module info byte和group info byte,或priv...

關於各種dc的例項簡單使用

用win32api畫線 hdc hdc hdc getdc m hwnd movetoex hdc,m porigin.x,m porigin.y,null lineto hdc,point.x,point.y releasedc m hwnd,hdc 用封裝的cdc畫線 cdc pdc getdc...