通俗的DC解釋

在GDI中,DC(Device context)是一個非常重要的概念。

有的書中,將DC翻譯爲設備描述表(《Windows 程序設計 第五版》作者Charles Petzold),

也有的書將DC翻譯爲設備上下文。

到底什麼是DC?

用現實中的例子來理解可能更容易些。

如果你喜歡畫畫,你得先準備了畫布,畫筆,顏料……

畫畫的環境搭建好了,你就可以畫畫了。

這個畫畫的環境,就是DC。

在圖形環境下,一切都是畫出來的,所以,你要準備好一個DC,才能在屏幕上畫畫。——寫字也是畫畫。

在畫畫的環境中,有哪些對象呢?

畫布——GDI對象之一:區域

畫筆——GDI對象之一:畫筆

顏料盒——GDI對象之一:調色板

如果要在畫筆上寫字的話,寫什麼樣的字體呢?方正字體?徐靜蕾字體?——字體也是GDI對象之一。

有的畫筆比較粗,專用來刷大面積背景色的,這是刷子——GDI對象之一:刷子

如果你不想畫了,只想把別人畫好的畫,貼到你的畫布上,這也是可以的。——GDI對象之一:位圖。

所以,這裏就有6種GDI對象可以用於DC。

現在開始畫畫了,你拿起了一隻筆。——在Windows環境裏,這叫選擇了一個畫筆對象:使用SelectOBject函數。當然,如果你沒帶筆也沒關係,Windows爲你準備了幾隻畫筆,你可以這樣申請系統提供的缺省畫筆:hPen = GetStockObject(WHITE_PEN);

如果你畫着畫着,覺得手中的筆用着不爽,可以換一隻啊,沒關係的。——依舊是SelectObject()換筆。

當然,如果你走出了畫室,別完了把你的畫筆清除掉,要不畫室裏全是筆啊,刷子啊,太亂了。——DeleteObject() 

 

發佈了30 篇原創文章 · 獲贊 2 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章