所謂設(shè)備坐標與邏輯坐標只是相對的概念。
比如點pt(1000,1000),如果你認為他是
設(shè)備坐標,那么經(jīng)過下變換,他就變成邏輯
坐標:
dc.DPtoLP(&pt);
如果你認為他是
邏輯坐標,那么經(jīng)過下變換,他就變成設(shè)備坐標:
dc.DPtoLP(&pt);
是設(shè)備坐標還是邏輯坐標,與DC的影射模式(MapMode)
無關(guān),任何影射模式都有設(shè)備坐標與邏輯坐標。其中,設(shè)備坐標
是統(tǒng)一的的,即都是指設(shè)備象素坐標。
1.首先、設(shè)備坐標指的是物理設(shè)備以象素點為單位。
邏輯坐標除MM_TEXT外均指物理尺寸,如mm,inch等
2.數(shù)字本身沒有邏輯與設(shè)備之分
CRect r=CRect(0,0,50,30);
CSize size(100,80);
CPoint point(50,60);
孤立的看待這些點或坐標是沒有意義的,他是邏輯還是設(shè)備坐標
取決于編程著的主觀愿望,和上下文的意義。
3.DPtoLP指將象素點數(shù)坐標轉(zhuǎn)換為在相應(yīng)設(shè)備上該數(shù)目的象素點
在該設(shè)備上實際物理長度(尺寸)坐標。
LPtoDP指將相應(yīng)設(shè)備實際物理長度(尺寸)坐標轉(zhuǎn)換為在相應(yīng)設(shè)備
上該物理長度(尺寸)所占用的象素點書目坐標
一般dc所接受的參數(shù)是邏輯坐標,窗口函數(shù)都是接受設(shè)備坐標。
在使用自己產(chǎn)生的dc之前要先調(diào)用OnPrepareDC,確保dc的原點與邏輯坐標原點重合,因為dc的函數(shù)都是使用的邏輯坐標
posted on 2008-07-21 14:19
cpsprogramer 閱讀(3746)
評論(1) 編輯 收藏 引用 所屬分類:
VC++