① 請問窗囗坐標和邏輯坐標的區別是什麼
應該是設備坐標和邏輯坐標的區別吧,這肢悄兩個才是對應的
設備坐標是指在屏幕中的實際坐標,而邏輯坐標是虛擬的,我們假想的。
設備坐標又可以分為屏幕坐標系、窗口坐標系、客戶區坐標系,默認分別以屏幕左上角、窗口左上角、客戶區左上滲孝角為坐標。
默認情況下,設備坐標和邏輯坐標的范圍和原點是一樣的
可以通過API函數來設置。
SetWindowOrgEx SetWindowExtEx 設置邏輯坐標的原點和范圍
SetViewportOrgEx SetViewportExtEx 設置設備坐標的原點和范圍
不管如何設置,邏輯坐標和設備坐標系的原點一定相映射。歷喊渣
例如用SetWindowOrgEx設置坐標(20,30),即邏輯坐標的20,30與設備坐標的原點對應
如果邏輯坐標和設備坐標的范圍相同的話,
那麼邏輯坐標(40,50)與設備坐標(40-20,50-30)對應
② 滑鼠點擊時獲得的坐標是什麼坐標
滑鼠點擊的坐標是設備坐標,就是與屏幕解析度相關的像素坐標
③ 一個簡單的問題,什麼是設備坐標,邏輯坐標
K線上,橫坐標顯示時間,縱坐標顯示股價波幅(K線長短).具體圖形1日線:橫軸顯示單日,縱軸為當日K線(當日開收價之間為實體,最低最高價為上下影線).2周線:橫軸為該周交易天數,合並為一周(有幾天交易算幾天),一個單位顯示為一周所有交易時間;縱軸為當周K線(以本周第一交易日開盤價為開盤價,以最後一個交易日收盤價為收盤價,本周最培拍高最低價為上下渣耐影),一周的日線合並為一根周線.3月線,如同周線一樣,橫軸對應的單位顯示為一月的所有交易日,縱軸顯示的是一個月所有日線的合並.有一點應該說明,隨著周期不同,K線的長度也不斷加長,為了配梁羨便於顯示,K線是按指數形式(除以10的n次冪)縮短的.
④ 你好!想向您請教一些VC++中有管設備坐標和邏輯坐標的問題
設備坐標(Device Coordinate)又稱為物理坐標(Physical Coordinate),是指輸出設備上的坐標。通常將屏幕上的設備坐標稱為屏幕坐標。設備坐標用對象距離窗口左上角的水平距離和垂直距離來指定對象的位置,是以像素為單位來表示的,設備坐標的X軸向右為正,Y軸向下為正,坐標原點位於窗口的左上角。
邏輯坐標(Logical Coordinate)是系統用作記錄的坐標。在預設的模式(MM_TEXT)下,邏輯坐標的方向和單位與設備坐標的方向和單位相同,也是以像素為單位來表示的,X軸向右為正,Y軸向下為正,坐標原點位於窗口的左上角。
更詳細,更參考http://blog.csdn.net/pathuang68/archive/2009/05/27/4219657.aspx或者搜索孫鑫的VC++教程,裡面講的很清楚。
⑤ 闡述用戶坐標系,設備坐標系和規格化設備坐標系三者之間的區別和聯系
區別:用戶坐標系是代表X,Y,Z三個面的距離,設備坐標系是指定的邏輯坐標映射為設備坐標,規格化設備坐標系是為了便於圖形處理,當圖形輸出時,在轉換為具體的設備坐標。
聯系:用戶坐標系相對於設備坐標系,設備坐標系是相對於規格化設備坐標系。
(5)什麼是設備坐標擴展閱讀:
1、用戶坐標系:原點可以放在任意位置上,坐標系也可以傾斜任意角度。
由於絕大多數二散歲維繪圖命令只在XY或與XY平行的面內有效,在繪制三維圖形時,經常要建立和改變用戶坐標系來繪制不同基本面上的平面圖形。
2、設備坐標系包括以下3種設備坐標:
(1)客戶區域坐標,包括應用程序的客戶區域,客戶區域的左上角為(0,0)。
(2)屏幕坐標,包括老掘物整個屏幕,屏幕的左上角為(0,0)。
(3)用函數ClientToScreen和ScreenToClient可以將客戶區域坐標轉換成屏幕區域坐標,或反之。
3、用戶的圖形數據經轉換成規格化設備坐標系中的值。使應用程序與圖形設備侍液隔離開,增加了應用程序的可移植性。
⑥ 設備坐標和客戶坐標分別指什麼,有什麼區別,那窗口中看到的是那個坐標啊
設備坐標:一個實際物理屏幕是由像素組成的如平常所說的640×480,1024 ×768指的就是顯示器的實際寬度和高度的像素數目。
VC++繪圖有好幾種模式,默認情況下是MM_TEXT,在此模式下繪圖就是設備坐標,因為它的單位是像素!
客戶坐標:是指在客戶區的坐標系,客戶==你!哈哈你定義的坐標系。可以在現有的繪圖映像模式下通過坐標變換的到你的坐標系。如你在一個映像模式坐標系下的客戶坐標原點為(x,y),那握指客戶坐標系的坐標換算成映像模式坐標就行了,數學問題多說了!哈哈
感覺你應該問邏輯坐標,邏輯坐標蠢談不以屏幕的像素個數為標准。在屏幕上是多長實際就是多長。MM_LOMETRIC,MM_HIMETRIC等映像模式
映像識別碼 邏輯單位 X和Y軸正向
MM_TEXT 1 Pixels(像素) 右下
MM_LOMETRIC 2 0.1mm 右上
MM_HIMETRIC 3 0.01mm 右上
MM_LONGLISH 4 0.1inch 右上
MM_HIENGLISH 5 0.01inch 右上
MM_TWIPS 6 1/段檔配1440inch 右上
MM_ISOTROPIC 7 Variable(x==y) 變化的
MM_ANISOTROPIC 8 Variable(x<>y) 變化的
原點 都在左上角,
⑦ 什麼是邏輯坐標和設備坐標
對於屏幕,邏輯坐標是第一象限,設備坐標是第四象限,當然數值都是正值。
就是說屏幕的邏輯坐標是左下角是原點,整個屏幕都處於第一象限。
屏幕的設備坐標是左上角是原點。
⑧ windows編程之幾個坐標,坐標系的概念
設備坐標包括手攜三種,客戶區坐標,窗口坐標,屏幕坐標,它的特點是以左上角為原點,x軸向右遞增,y軸向下遞增,單位是像素。
邏輯坐標默認情況下跟設備坐標老薯輪重合,採用像素為單位,但是邏輯坐標的單位並不一定是像素,它可以是具體的物理度量單位,包括mm,inch。我們再侍信繪圖的時候採用的都是邏輯單位,windows會把這些邏輯單位轉換為像素單位。
⑨ 請問窗口坐標,邏輯坐標和視口坐標,設備坐標的區別,謝謝!
應該說
窗口坐標 是相對於 視口坐標 而言
邏輯坐標 是相對於 設備坐標 而言
補充:
窗口坐標是基於邏輯坐標的.
視口坐標是基於設備坐標.
上面這兩話是抄自網路的,我的理解是:
窗口坐標的單位長度與邏輯坐標的單位長度相同,也就是說,當你在窗口坐標上畫圖時,傳遞給畫圖函數的參數的單位是邏輯單位。但是當windows把圖形輸出到屏幕上時,並不是直接把圖形按照它在窗口坐標上的位置輸出到屏幕上的,而是先世賀把它在窗口坐標上的值轉換成視口坐標上的值(與此同時,也把邏輯坐標按照不同的映射模式轉換成設備坐標)。下面舉例說明:
由於 一般情況下,窗口原點是與視口原點相同的,(也就是說,位於屏幕上的同一個位置),為了體會不窗口坐標與視口坐標的轉換,先用SetwindowtOrg(100,-300)將視口移到(100,-300),這相當於把 邏輯點(100,-300)映射到設備點(0,0) (注意:如果改用SetviewportOrg移動原點,則其原點的移動尺寸與映射模式無關,其300個長度單位等於9厘米)
(註:這個設備點也是相對於當前的DC而言,如檔返鏈果當前的DC是整個屏幕,那麼設備點(100,-300)的原點就在屏幕的左上角,如果當前的DC是某個應用程序的客戶區,那麼設備點(100,-300)的原點就是應用程序的客戶區的左上角,)
現在假設當前DC是某個應用程序的客戶區,映射模式為 MM_LOMETRIC
(在這種映射模式下,設備坐標以0.1 毫米為一個長度單位,Y軸的正方向為向上,也就是說,屏幕上的左上角的Y坐標為0,下面的Y坐標均小於0),當使用語句:
MoveTo(100,-600);
LineTo(100,-800);//Y軸負方向向下,所以用負值
進行畫圖時,它的轉換過程如下:
1)窗口與視口坐標轉換,由於窗口坐標(100,-300 ),映射為設備坐標(0,0),所 以
窗口(100,-600)映射為視口(0,-300)
窗口(100,-800)視映射為視口(0,-500)
2)邏輯與設備坐標轉換
由於是 MM_LOMETRIC 映射模式,設備坐標的單位長度為 0.1mm,而在輸出時用的是視口坐標,所以視口坐標(100,-600)輸出到屏幕上時,該點的位置
距客戶區左邊 0 厘米,距客戶區上邊 3厘米。這就是直線的起點;
再把直線終點的視口坐標(100,-800)輸出到距客戶區左邊0厘米,距客戶區上邊 5厘米處。
以上就是全部過程
在不同的映射模式下,一個邏輯單位 對應 不同的 設備單位,
例如:在 MM_TEXT 映射模式下,設備坐標是以像素為單位的,
也就是說,如果你這時要用一個函數畫一條直線,並且傳遞給它的參數大小為
100,(通常情況下,傳遞給函數的參數通常是視作邏輯坐標下的數值,也就是說,這里的100指的是邏輯坐標里100個單位長度.不過也不一定,用時請看具體情況,這個我也不大清楚),那麼它將會在屏幕上畫一條行孫100像素長的線條,
如果是在 MM_LOMETRIC 映射模式下,設備坐標是以0.1 毫米為一個長度單位的,如果你這時要用一個函數畫一條直線,並且傳遞給它的參數大小為
100,那麼它將會在屏幕上畫出 0.1毫米 * 100 = 10 厘米 長的直線,
當然,由於各種復雜的原因,畫長的直線可能並不是剛好10 厘米長,但誤差不會很大
至於窗口與視口坐標的問題,你可以看這里
http://ke..com/view/1522985.htm
補充:
我的理解是這樣的,窗口坐標與視口坐標是與DC(即設備上下文)相關的,如果
DC是整個屏幕,那麼窗口坐標的原點就是屏幕的左上角,如果DC是一個應用程序的窗口的客戶區,那麼窗口坐標的原點就是該客戶區的左上角