在預設情況下,gdi繪畫操作的使用白紙(視窗的客戶區)黑字(pen的顏色)!前面我們已經講過如何改筆,現在來學習改變白紙(gdi的繪製區域)
正常的紙為乙個矩形形狀!有時候小孩不小心撕掉紙的一角,不小心被紙中間掏空了,又或者紙被剪成了藝術品,比如:
如果在這樣的上垂直方向的**劃一根4個畫素的黑色的線條講呈現出下面的效果winodws提供的繪製區域也就是相當於上面提到的紙!其中可用函式的的有黑色的線條被紙分層了若干段,因為白色的部分不是紙!
hrgn = createrectrgn(xleft,ytop.xright,ybottom) 矩形區域hrgn = createrectrgnindirect(&rect) 同上
hrgn = createellipticrgn(xleft,ytop.xright,ybottom) 橢圓區域
hrgn = createellipticrgnindirect(&rect) 同上
hrgn = createpolygonrgn(&point,icount,ipolyfillmode)多邊形區域
如果有多個區域,可以使用乙個函式來合併
combinrgn(hdestrgn,hsrcrgn1,hsrcrgn2,icombine)
「將hsrcrgn1和hsrcrgn2使用icombine方式合併為結果hdestrgn,icombine可取值有:
icombine值
hdestrgn
rgn_and
兩個區域的公共部分
rgn_or
兩個區域的全部
rgn_xor
兩個區域的全部除去公共部分
rgn_diff
hsrcrgn1不在黑hsrcrgn2中的部分
rgn_copy
hsrcrgn1的全部(忽略hsrcrgn2)
區域的控制代碼可用於4個繪圖函式
fillrgn(hdc,hrgn,hbrush) 用指定畫刷填充
framergn(hdc,hrgn,hbrush,xframe,yframe) 用畫刷填充邊框
(邊框寬高由xframe,yframe)
invertrgn(hdc,hrgn) 將區域中的顏色畫素反轉
paintrgn(hdc,hrgn) 用當前畫刷填充
笨嘴拙舌WINDOWS GDI 2
古時候,大師舞文之時需要筆墨紙伺候,不同筆,不同墨,作品風格迥異!以下是windows提供的筆 帶有墨 createpen ps solid,0,clred 直線 createpen ps dash,0,clred createpen ps dash,4,clred createpen ps dot...
笨嘴拙舌WINDOWS 編碼歷史
在介紹歷史之前,有必要將乙個經常使用的詞語 標準 解釋一下 標準是 為了在一定的範圍內獲得最佳秩序,經協商一致制定並由公認機構批准,共同使用的和重複使用的一種規範性檔案。標準原意為目的,也就是標靶。其後由於標靶本身的特性,衍生出乙個 如何與其他事物區別的規則 的意思。會衍生出這個意思也不難理解。標靶...
笨嘴拙舌WINDOWS 計時器精度
windows的大多數系統並非實時作業系統,所以不能規定計算機在某個精確到納秒的時間讓計算機做某項任務,如果規定了時間windows也將需要在完成了執行緒排程後,經行任務執行!也就是說,如果你的應用程式指定計算機在 8 30 29.365秒執行a程式,那麼程式真正執行的時間可能是 8 30 29.3...