?? untitled-22.txt
字號:
第2章在窗口中繪圖51
如,如果采用其他任何一種筆樣式來畫一個用ZO個單位寬的PS.SOLID筆繪制的直徑為
IO0個單位的圓,則從圓周外緣測得的真實直徑是12O個單位,請參見圖2-6。為什么會這樣
呢?實際上,這個筆所畫的邊框在理論圓的兩側都向外延伸了10個單位。用PS.INSIDE-
FRAME畫同一個圓,則得到的圓的直徑恰好是100個單位。PS.INSIDEFRAME樣式不影響
由LineTo畫得的直線,同時也不影響其他不使用外接矩形的函數所畫的圖形。
:人的激紹。J一聞牦站。。。。X一鄉、十一一理論圓周;M價柴。。子。V。。。,,。>he.
應瞌人。M tH。、攢*h直徑一100單位)‘/。。雨一。》吃一一回噙。、。,。。。、義:
廓。塑。貫}一一一J卜《一卜外圓直徑一120單位摜、-。。7 \V。。。。,。h
W鑷。。hi人對。。9外圓直徑—100單位一一卜令今一一一人人騖哪“
。人心私命線~油瞑:k;t一——外接矩形——義\海上上透p少’
_。。。。,、_,L用20個單位貨的
用20個單位黨的,l。一一T—_。。
_L。A、’,_SAs。_ PS INSIDEFRAME
m*cuD畫筆畫團l-—。,—l——11—。。’一
畫筆畫日
圖2.6 PS_INSIDEFRAME筆樣式
PS.NULL樣式創建的筆被Windows程序員稱為“NULL筆”。為什么要創建一個NULL
筆呢?信不信由您,有時NULL筆會很有用。例如:假如您想畫一個沒有邊框的紅色實心
圓。如果用 MFC的 CDC:: Ellope函數畫這個圓,那么 Windows會自動用當前選人設備描述
表的筆給圓加邊框。您無法告訴Ellipse函數不要加邊框,但是可以將NULL筆選人設備描
述表,這樣該圓就沒有可見的邊框了。NULL畫刷的用法與此類似。如果您想保留這個邊
框,并且希望圓的內部是透明的,那么可在畫圓之前將NULL畫刷選人設備描述表。
傳遞給CPen的創建筆函數的第二個參數指定了筆所畫線的寬度。筆寬度是以邏輯單
位給出的,而邏輯單位的實際意義又取決于當前的映射模式。可以創建具有任一邏輯寬度
的 PS.SOLID、 PS—NULL和 PS—INSIDEFRAME筆,但 PS—DASH、 PS.DOT、 PS—DASHDOT和
PS.DASHDOTDOT筆則必須是1個邏輯單位寬。無論映射模式如何,在任一樣式下把筆寬
度指定為0,都會產生寬為回個像素點的筆。
創建筆的第三個,也是最后一個要指定的參數是筆的顏色。Windows使用24位RGB顏
色模型,其中每一種顏色是由分別在0到255間變化的紅、綠以及藍色的值確定的。值越
高;相應的顏色成分也越亮。RGB宏將代表三個獨立顏色成份的值合成為一個可傳遞給
GDI的COLORREF值。語句
CPen Pen(PS.SOLID,工,RGB(255,0,0》;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -