久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

設(shè)備坐標(biāo)、邏輯坐標(biāo),、物理坐標(biāo)的區(qū)別與轉(zhuǎn)換(更改原文一處錯(cuò)誤)

 戴維圖書館 2014-05-12
http://blog.csdn.net/lzm420241/article/details/7775994

只要區(qū)分 設(shè)備坐標(biāo),、邏輯坐標(biāo) 就可以了,窗口中的每個(gè)點(diǎn)都對(duì)應(yīng)一個(gè)設(shè)備 
坐標(biāo)和一個(gè)邏輯坐標(biāo),。 可相互轉(zhuǎn)化,, 拿窗口來(lái)說(shuō),設(shè)備坐標(biāo)就是窗口可見(jiàn)部分的坐標(biāo)系,。 
譬如說(shuō)你用鼠標(biāo)在屏幕上的某個(gè)位置點(diǎn)一下,,他會(huì)有一個(gè)設(shè)備坐標(biāo),你拉 
動(dòng)VScroll或HScroll,,再在相同的位置點(diǎn)一下,,它還是產(chǎn)生那個(gè)設(shè)備坐標(biāo), 
而這時(shí)它的邏輯坐標(biāo)已經(jīng)變了,。 
因?yàn)橄鄬?duì)于可見(jiàn)部分的窗口來(lái)說(shuō),,他們是同一個(gè)點(diǎn)。而相對(duì)于Document來(lái)說(shuō),,他們不是同一個(gè)點(diǎn),。Understand? 
希望我的描述對(duì)你理解有點(diǎn)幫助。

在Windows中,,文檔坐標(biāo)系稱作邏輯坐標(biāo)系,,視圖坐標(biāo)系稱為設(shè)備坐標(biāo)系。 
邏輯坐標(biāo)按照坐標(biāo)設(shè)置方式(又成為映射模式)可分為8種,,它們?cè)谧鴺?biāo)上的特性如下表所示: 

表7-1 各種映射模式下的坐標(biāo)轉(zhuǎn)換方式 

映射模式 邏輯單位 x遞增方向 
y遞增方向 

MM_TEXT 像素 向右 
向下 

MM_LOMETRIC 0.1mm 向右 
向上 

MM_HIMETRIC 0.01mm 向右 
向上 

MM_LOENGLISH 0.01inch 向右 
向上 

MM_HIENGLISH 0.001inch 向右 
向上 

MM_TWIPS 1/1440inch 向右 
向上 

MM_ISOTROPIC 可調(diào)整 (x=y) 可選擇 
可選擇 

MM_ANISOTROPIC 可調(diào)整(x!=y) 可選擇 
可選擇 


我們一般使用的映射模式是MM_TEXT,,它也是缺省設(shè)置。在該模式下,,坐標(biāo)原點(diǎn)在工作區(qū)左上角,,而x坐標(biāo)值是向右遞增,,y坐標(biāo)值是向下遞增,單位值1代表一個(gè)像素,。 

設(shè)備坐標(biāo)以像素點(diǎn)為單位,,且x軸坐標(biāo)值向右遞增,y軸坐標(biāo)值向下遞增,,但原點(diǎn)(0,0)位置卻不限定在工作區(qū)的左上角,。依據(jù)設(shè)備坐標(biāo)的原點(diǎn)和用途,可以將Windows下使用的設(shè)備坐標(biāo)系統(tǒng)分為三種:工作區(qū)坐標(biāo)系統(tǒng),,窗口坐標(biāo)系統(tǒng)和屏幕坐標(biāo)系統(tǒng),。 

(1)工作區(qū)坐標(biāo)系統(tǒng): 

  工作區(qū)坐標(biāo)系統(tǒng)是最常見(jiàn)的坐標(biāo)系統(tǒng),它以窗口客戶區(qū)左上角為原點(diǎn)(0,0),,主要用于窗口客戶區(qū)繪圖輸出以及處理窗口的一些消息,。鼠標(biāo)消息WM_LBUTTONDOWN、WM_MOUSEMOVE傳給框架的消息參數(shù)以及CDC一些用于繪圖的成員都是使用工作區(qū)坐標(biāo),。 

(2)屏幕坐標(biāo)系統(tǒng): 

  屏幕坐標(biāo)系統(tǒng)是另一類常用的坐標(biāo)系統(tǒng),以屏幕左上角為原點(diǎn)(0,0),。以CreateDC(“DISPLAY” , ...)或GetDC(NULL)取得設(shè)備上下文時(shí),,該上下文使用的坐標(biāo)系就是屏幕坐標(biāo)系。 

  一些與窗口的工作區(qū)不相關(guān)的函數(shù)都是以屏幕坐標(biāo)為單位,,例如設(shè)置和取得光標(biāo)位置的函數(shù)SetCursorPos()和GetCursorPos(),;由于光標(biāo)可以在任何一個(gè)窗口之間移動(dòng),它不屬于任何一個(gè)單一的窗口,,因此使用屏幕坐標(biāo),。彈出式菜單使用的也是屏幕坐標(biāo)。另外,,CreateWindow,、MoveWindow、SetWindowPlacement()等函數(shù)用于設(shè)置窗口相對(duì)于屏幕的位置,,使用的也是屏幕坐標(biāo)系統(tǒng),。 

(3)窗口坐標(biāo)系統(tǒng): 

  窗口坐標(biāo)系統(tǒng)以窗口左上角為坐標(biāo)原點(diǎn),它包含了窗口控制菜單、標(biāo)題欄等內(nèi)容,。一般情況下很少在窗口標(biāo)題欄上繪圖,,因此這種坐標(biāo)系統(tǒng)很少使用。   
另外:

視圖中利用的是影射方式 MM_ANISOTROPIC,,現(xiàn)在想把鼠標(biāo)所在的點(diǎn)的坐標(biāo)利用邏輯坐標(biāo)給標(biāo)出來(lái),,利用ScreenToClient()

setwindowExt() 
setviewportExt() 
setwindowOrg() 
setviewportorg() 的區(qū)別:

SetViewportExt和SetWindowExt用來(lái)確定邏輯坐標(biāo)下和設(shè)備坐標(biāo)下的尺寸對(duì)應(yīng)關(guān)系 

SetWindowExt(int Lwidth, int Lheight) 
//window的寬(高)度,參數(shù)的單位為邏輯單位(Logical),如果參數(shù)為負(fù)值表示window相應(yīng)的坐標(biāo)軸與page空間相反,。 

SetViewportExt(int Pwidth, int Pheight) 
//viewport的寬(高)度,參數(shù)的單位為像素(Pixel),,如果參數(shù)為負(fù)值表示viewport相應(yīng)的坐標(biāo)軸與device空間相反。 

SetWindowOrg(int Lx, int Ly) 
//設(shè)置邏輯坐標(biāo)的坐標(biāo)原點(diǎn)    此處原文由錯(cuò)誤
SetViewportOrg(int Px, int Py) 
//設(shè)置設(shè)備坐標(biāo)的坐標(biāo)原點(diǎn)    此處原文由錯(cuò)誤

所謂設(shè)備坐標(biāo)與邏輯坐標(biāo)只是相對(duì)的概念。 
比如點(diǎn)pt(1000,1000),如果你認(rèn)為他是 
設(shè)備坐標(biāo),,那么經(jīng)過(guò)下變換,,他就變成邏輯 
坐標(biāo): 
dc.DPtoLP(&pt); 
如果你認(rèn)為他是 
邏輯坐標(biāo),那么經(jīng)過(guò)下變換,,他就變成設(shè)備坐標(biāo): 
dc.DPtoLP(&pt); 

是設(shè)備坐標(biāo)還是邏輯坐標(biāo),,與DC的影射模式(MapMode) 
無(wú)關(guān),任何影射模式都有設(shè)備坐標(biāo)與邏輯坐標(biāo),。其中,,設(shè)備坐標(biāo) 
是統(tǒng)一的的,即都是指設(shè)備象素坐標(biāo),。

CRect并無(wú)設(shè)備坐標(biāo)或邏輯坐標(biāo)之分,,關(guān)鍵在于你怎么認(rèn)為它和怎么用它。 
一般dc所接受的參數(shù)是邏輯坐標(biāo),,窗口函數(shù)都是接受設(shè)備坐標(biāo),。 
所以不管是否用了DPtoLP或LPtoDP,Rectangle()所用參數(shù)它都認(rèn)為是邏輯坐標(biāo),。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多