青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

asm, c, c++ are my all
-- Core In Computer
posts - 139,  comments - 123,  trackbacks - 0

轉載自天蝎之巢:Windows編程中SetViewportOrg與SetWindowOrg的理解
????????????????????????????????????????
最近突然又很有激情的開始看Jeff Prosise的那本"Programming Windows with MFC, 2 ed."。盡管是英文版的,但是感覺這本書上手比喉結的那本所謂的 深入淺出MFC 要容易理解的多。候同學給人一種故弄玄虛故作深沉的感覺,而Jeff Prosise的這本書才真正的稱得上是深入淺出。

盡管如此,其中有關GDI繪圖中的坐標映射部分還是有一個問題沒有搞清楚,那就是SetWindowOrg和SetViewportOrg這兩個函數到底應該如何理解。潘愛民翻譯的那本VC內幕沒有講清楚;Jeff Prosise的這本書沒有講清楚;MSDN上的東西看的也是一頭霧水;Charles Petzold的那本書還沒有來得及看。因為這個問題,昨天晚上是帶著遺憾的困惑入睡的。

總的來說,我對這兩個函數的理解導致的結果是與實際程序運行的結果截然相反。依據MSDN上的解釋,有一個很嚴重的問題沒有闡述清楚,那就是:所謂的SetWindowOrg(x, y)函數,到底是表示set window origin to (x, y)還是set window origin as (x, y);to和as在執行的時候,其操作的效果是截然相反的。

set window origin to (x, y)表示將坐標原點設置到(x, y);即以(x, y)作為坐標原點,此時原點坐標不再為(0, 0);
set window origin as (x, y)表示將原來的原點(0, 0)的坐標改為(x, y);即將所有點的坐標增加(+x, +y);

現在我的理解是:應該是 set window origin to (x, y)。這種理解基于以下幾個前提:
1. 所有繪圖語句中給出的坐標,全部是邏輯坐標,即在 window 中的坐標(相對于viewport所表示的設備坐標而言);
2. 所有用戶能看到的點,其設備坐標一定是位于(0, 0)和(1024, 768)范圍內;(假設顯示器為輸出設備,采用MM_TEXT映射方式,且屏幕分辨率為1024*768);
3. 所謂“(0,0)就原點,原點的坐標一定就是(0,0)”這種理解,是錯誤的;
4. Viewport中的坐標表示設備坐標;Window中的坐標表示邏輯坐標;
5. 當在邏輯坐標中指定新的原點后,在執行映射時,設備坐標的原點一定要與邏輯坐標的新原點重合;反過來也是一樣,即兩個坐標系的原點一定要重合。

下面舉例說明:(MM_TEXT映射模式)

(1)
CRect rect(0, 0, 200, 200);
dc.rectangle(rect);
上面的語句在屏幕的最左上角繪制一個正方形;(因為此時邏輯坐標與設備坐標沒有偏移)

(2)
dc.SetViewportOrg(100, 100);
CRect rect(0, 0, 200, 200);
dc.rectangle(rect);
將設備坐標的原點設置到(100, 100);即設備坐標的原點不在(0, 0)處,而是在(100, 100)處;此時若執行映射的話,邏輯坐標的原點(0, 0)需要與設備坐標的原點(100, 100)重合(參考前提5);那么此時繪制的矩形(0, 0, 200, 200)的坐標(為邏輯坐標,參考前提1)在設備坐標中就會映射為(100, 100, 300, 300),最終我們在顯示器上看到的會是一個向右下方偏移(100, 100)的一個邊長為200的正方形(用戶看到的點是在設備坐標中的,參考前提2)

(3)
dc.SetWindowOrg(100, 100);
CRect rect(0, 0, 200, 200);
dc.rectangle(rect);
將邏輯坐標的原點設置到(100, 100);即邏輯坐標的原點不在(0, 0)處,而是在(100, 100)處;此時若執行映射的話,設備坐標的原點(0, 0)需要與邏輯坐標的原點(100, 100)重合(參考前提5);那么此時繪制的矩形(0, 0, 200, 200)的坐標(為邏輯坐標,參考前提1)在設備坐標中就會映射為(-100, -100, 100, 100),最終我們在顯示器上看到的會是一個只有1/4個大小的矩形的一部分(事實上相當于向左上方偏移(100, 100)的一個邊長為200的正方形。注意:用戶看到的點是在設備坐標中的,參考前提2)

posted on 2006-07-11 04:11 Jerry Cat 閱讀(486) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理



<2006年7月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

常用鏈接

留言簿(7)

隨筆檔案

最新隨筆

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一区二区冒白浆视频| 午夜伦欧美伦电影理论片| 日韩午夜电影av| 亚洲青涩在线| 欧美激情在线| 国产一区二区三区在线观看免费视频 | 欧美大片在线观看一区二区| 欧美寡妇偷汉性猛交| 亚洲综合第一页| 国产一区二区三区不卡在线观看| 亚洲日本中文| 激情国产一区| 国产精品人成在线观看免费 | 激情伊人五月天久久综合| 亚洲特黄一级片| 久久精品视频亚洲| 在线电影国产精品| 欧美激情bt| 99xxxx成人网| 欧美怡红院视频| 国产一区在线播放| 欧美成人精品h版在线观看| 亚洲看片免费| 欧美一进一出视频| 亚洲第一福利视频| 欧美日韩精品一区二区在线播放 | 国产日韩1区| 国产精品乱码人人做人人爱| 久久久久久一区| 午夜精品影院在线观看| 一区二区三区精品| 亚洲黄一区二区三区| 午夜日韩视频| 国产区二精品视| 久久国产欧美日韩精品| 久久久精品国产免费观看同学| 欧美欧美在线| 美女精品视频一区| 亚洲蜜桃精久久久久久久| 国产精品一香蕉国产线看观看| 亚洲一区二区网站| 欧美性猛交99久久久久99按摩| 欧美日韩中文字幕精品| 欧美区一区二区三区| 国产噜噜噜噜噜久久久久久久久| 国产精品美女久久久久久久| 国产精品自在线| 国产精品青草久久| 欧美理论电影在线观看| 久久久久久久综合| 欧美日本韩国在线| 国产精品久久综合| 久久免费一区| 欧美一区三区三区高中清蜜桃| 亚洲黄色片网站| 亚洲国产日日夜夜| 亚洲国产精品va| 欧美激情一区二区在线| 亚洲欧美精品中文字幕在线| 亚洲国产视频一区二区| 亚洲麻豆视频| 亚洲人在线视频| 99ri日韩精品视频| 在线免费观看日本欧美| 欧美日韩人人澡狠狠躁视频| 欧美成人精精品一区二区频| 欧美成人dvd在线视频| 欧美欧美午夜aⅴ在线观看| 欧美日韩精品一区二区| 国产精品嫩草影院av蜜臀| 欧美久久久久久久久| 国产精品久久久久9999| 国产精品九九久久久久久久| 亚洲图片激情小说| 亚洲成人在线| 亚洲美女黄网| 老司机一区二区| 这里只有精品丝袜| 男同欧美伦乱| 最新国产拍偷乱拍精品 | 免播放器亚洲一区| 欧美在线1区| 国内精品美女在线观看| 午夜视频一区在线观看| 欧美中文字幕精品| 日韩亚洲视频| 久久午夜精品一区二区| 亚洲视频www| 1000部国产精品成人观看| 免费中文日韩| 欧美日韩国内自拍| 欧美视频一区二区三区…| 在线观看日韩专区| 亚洲最新色图| 在线亚洲精品福利网址导航| 欧美精品国产精品日韩精品| 亚洲最新视频在线| 亚洲自拍偷拍福利| 欧美国产免费| 欧美伦理91| 欧美一区二区成人6969| 免费观看成人鲁鲁鲁鲁鲁视频| 伊人狠狠色j香婷婷综合| 欧美高清在线视频| 欧美日本中文字幕| 久久精品国产亚洲一区二区三区| 久久成人国产精品| 亚洲制服丝袜在线| 欧美高清在线视频| 亚洲午夜精品久久| 欧美成人dvd在线视频| 在线一区日本视频| 欧美特黄一区| 99国产精品一区| 欧美午夜一区| 亚洲欧美日韩精品久久久| 亚洲视频免费在线观看| 欧美激情一二区| 欧美在线一二三| 美女尤物久久精品| 一区二区三区偷拍| 欧美一级二区| 日韩视频在线一区二区| 欧美在线播放| 欧美高清在线一区| 亚洲福利免费| 欧美另类亚洲| 一本一本久久| 亚洲欧美激情在线视频| 国产精品第十页| 夜夜爽夜夜爽精品视频| 在线观看三级视频欧美| 亚洲国产日韩欧美在线动漫| 欧美日韩在线不卡一区| 欧美一区二区视频免费观看| 久久久久国产精品人| 久久综合网络一区二区| 国产中文一区二区| 99精品视频免费观看视频| 国产在线欧美| 麻豆av福利av久久av| 久久久青草青青国产亚洲免观| 国内精品久久久久久久果冻传媒| 亚洲欧美成人网| 免费在线欧美视频| 最新国产成人av网站网址麻豆| 欧美一区二区视频在线观看| 在线视频欧美日韩| 欧美电影免费观看网站| 欧美黄色精品| 亚洲视频免费看| 久久久久久亚洲综合影院红桃| 亚洲国产影院| 午夜欧美精品| 黄网站色欧美视频| 国产麻豆91精品| 欧美日韩精品一区二区三区| 欧美黄色网络| 欧美国产日韩一区二区| 欧美a级理论片| 久久精品在线免费观看| 久久频这里精品99香蕉| 亚洲午夜国产成人av电影男同| 亚洲日本成人在线观看| 亚洲黄一区二区| 亚洲高清在线播放| 亚洲久久一区| 欧美大片免费久久精品三p| 亚洲欧美自拍偷拍| 欧美亚洲免费| 久久久精品性| 欧美一区免费视频| 欧美一区二区三区四区在线观看| 亚洲日韩视频| 亚洲一二三区在线观看| 在线视频欧美精品| 亚洲福利av| 久久影院午夜片一区| 欧美国产国产综合| 正在播放亚洲一区| 亚洲一区二区三区欧美| 日韩午夜电影| 亚洲美女视频在线观看| 一区二区三区www| 亚洲青涩在线| 午夜日本精品| 午夜精品久久久久久| 久久久欧美精品| 国产精品夜色7777狼人| 亚洲国产精品久久| 亚洲精品影视| 久久青草久久| 夜夜狂射影院欧美极品| 国产在线视频欧美| 亚洲国产成人porn| 亚洲一区二区三区精品在线| 在线视频精品一| 欧美一区2区三区4区公司二百| 亚洲一区欧美二区| 国产欧美精品在线观看|