freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

gdi入門詳解-資料下載頁

2025-08-04 09:33本頁面
  

【正文】 c(this)。 // device context for painting 4. // TODO: Add your message handler code here5. CRect cr。//矩形結(jié)構(gòu)6. GetClientRect(amp。cr)。//獲得客戶區(qū)窗口 7. int cx=。//右8. int cy=。//底 9. (MM_ISOTROPIC)。//X=Y 10. (1000,1000)。//設(shè)置邏輯窗口,默認(rèn)窗口原點為(0,0)11. (cx,cy)。//定義輸出視口,X右Y上為正12. (cx/2,cy/2)。//定義視口原點為客戶區(qū)中心13. (200,200,200,200)。//繪制橢圓與客戶區(qū)外切的橢圓14. //繪制水平垂直的四條半徑15. (0,0)。 (200,0)。16. (0,0)。 (200,0)。17. (0,0)。 (0,200)。18. (0,0)。 (0,200)。19. //執(zhí)行F5進(jìn)行Debug,在底端Output窗口中可以觀察ClientRect20. TRACE( = %d, = %d/n, cx, cy )。21. }運行結(jié)果如圖1左。當(dāng)改變窗口大小時,圖中圓形狀始終不變。1將上面代碼的第9行改為:(MM_ANISOTROPIC)。//X!=Y運行結(jié)果如圖1右。 圖1我們發(fā)現(xiàn),(200,200,200,200)。中定義的橢圓外接矩形邏輯上為正方形,但是顯示的并不是圓,而是橢圓。當(dāng)我們改變窗口大小時,圖中橢圓變形,甚至可能變?yōu)閳A形。具體為:保持窗口寬度不變時,減小高度,橢圓變得更扁;保持窗口高度不變時,減小寬度,橢圓變得更圓,當(dāng)拉伸到客戶區(qū)為正方形時,我們發(fā)現(xiàn)橢圓變成了圓!2(MM_ISOTROPIC)。//X=Y,(500,0)。 (0,500)。 運行結(jié)果如圖2左。保持窗口高度不變,減小窗口寬度,使窗口寬度窗口高度,運行結(jié)果如圖2右。圖23在將2(MM_ANISOTROPIC)。//X!=Y,運行結(jié)果如圖3: 圖3當(dāng)我們改變窗口大小時,(500,0)。 (0,500)。都是由原點(客戶區(qū)中心)到客戶區(qū)右端中心、底端中心的直線。4(1000,1000)。//(100,100)。設(shè)置邏輯窗口的原點為(100,100)。觀察運行結(jié)果可知,圖1中的圖形整體向左向下分別移動了100個邏輯單位:(200,200,200,200)——(200100,200100,200100,200100)若需要保持圖1中的圖形,則需要將涉及到的每個點加上(100,100),即:13. (200+100,200+100,200+100,200+100)。14. //繪制水平垂直的四條半徑15. (0+100,0+100)。 (200+100,0+100)。16. (0+100,0+100)。 (200+100,0+100)。17. (0+100,0+100)。 (0+100,200+100)。18. (0+100,0+100)。 (0+100,200+100)1邏輯窗口原點映射為視口原點2邏輯窗口寬度和高度映射為視口寬度和高度3當(dāng)映射方式為MM_ISOTROPIC時,=,有效繪圖區(qū)域為以視口寬高中的最小邊為邊長的正方形區(qū)域。比例因子為:scaleX=scaleY=min{, }/當(dāng)映射方式為MM_ANISOTROPIC時,有效繪圖區(qū)域為整個視口(這里為客戶區(qū))。比例因子為:scaleX=scaleY= /。見圖4.4設(shè)備(視口)坐標(biāo) = (邏輯坐標(biāo)–邏輯窗口原點坐標(biāo))比例因子+視口原點坐標(biāo)圖4以下分析中客戶區(qū)大小為ClientRect=(388,200),邏輯窗口原點為WindowOrg=(100,100),基于(3)4中修改后的代碼。在上圖4左中,nMapMode=MM_ISOTROPIC,橢圓外接矩形左上角邏輯坐標(biāo)(100,300)映射為客戶區(qū)的以Pixel為單位的坐標(biāo)為:left_top_X= (100100)(200/1000)+388/2=154 pixelleft_top_Y= (300100)(200/1000)+200/2=140 pixel依此次方法可計算出右下角邏輯坐標(biāo)(300,100)映射為客戶區(qū)的以Pixel為單位的坐標(biāo)為:right_bottom_X=234 pixel。right_bottom_Y=60 pixel(MM_ISOTROPIC)。//X=Y前添加CreatePen(PS_SOLID,2,RGB(255,0,0))。(154,140,234,60)。則可以發(fā)現(xiàn),這個以2個像素寬的紅色畫筆繪制的(橢)圓剛好和設(shè)置映射模式后繪制的(橢)圓重合。但是我們改變窗口大小時,發(fā)現(xiàn)設(shè)置映射模式后繪制的(橢)圓按比例拉伸,但紅色圓始終在原地且大小保持不變,這也說明了默認(rèn)映射方式MM_TEXT是以X軸正方向朝右,Y軸正方向朝下的坐標(biāo)系和1 pixel為單位進(jìn)行繪制的。同理,我們可以分析上圖4右中,nMapMode=MM_ANISOTROPIC的情況下,CRect(116,140,272,60)。為等效橢圓外接矩形。(4)總結(jié)邏輯窗口坐標(biāo)到設(shè)備視口坐標(biāo)的映射方法
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1