在GDI中,DC(Device context)是一個非常重要的概念。
有的書中,將DC翻譯為設備描述表(《Windows 程序設計 第五版》作者Charles Petzold), 也有的書將DC翻譯為設備上下文。 到底什么是DC? 用現實中的例子來理解可能更容易些。 如果你喜歡畫畫,你得先準備了畫布,畫筆,顏料…… 畫畫的環(huán)境搭建好了,你就可以畫畫了。 這個畫畫的環(huán)境,就是DC。 在圖形環(huán)境下,一切都是畫出來的,所以,你要準備好一個DC,才能在屏幕上畫畫?!獙懽忠彩钱嫯嫛?br> 在畫畫的環(huán)境中,有哪些對象呢? 畫布——GDI對象之一:區(qū)域 畫筆——GDI對象之一:畫筆 顏料盒——GDI對象之一:調色板 如果要在畫筆上寫字的話,寫什么樣的字體呢?方正字體?徐靜蕾字體?——字體也是GDI對象之一。 有的畫筆比較粗,專用來刷大面積背景色的,這是刷子——GDI對象之一:刷子 如果你不想畫了,只想把別人畫好的畫,貼到你的畫布上,這也是可以的?!狦DI對象之一:位圖。 所以,這里就有6種GDI對象可以用于DC。 現在開始畫畫了,你拿起了一只筆?!赪indows環(huán)境里,這叫選擇了一個畫筆對象:使用SelectOBject函數。當然,如果你沒帶筆也沒關系,Windows為你準備了幾只畫筆,你可以這樣申請系統(tǒng)提供的缺省畫筆:hPen = GetStockObject(WHITE_PEN); 如果你畫著畫著,覺得手中的筆用著不爽,可以換一只啊,沒關系的?!琅f是SelectObject()換筆。 當然,如果你走出了畫室,別完了把你的畫筆清除掉,要不畫室里全是筆啊,刷子啊,太亂了。——DeleteObject() |
|
來自: 賢人好客 > 《軟件開發(fā)》