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

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 閱讀(458) 評論(0)  編輯 收藏 引用

<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>
            久久狠狠亚洲综合| 亚洲在线第一页| 在线观看视频一区| 欧美精品一区二区三区久久久竹菊 | 亚洲第一黄色网| 欧美色图首页| 国产精品国色综合久久| 欧美高清不卡在线| 免播放器亚洲一区| 欧美一区二区三区播放老司机| 美女久久网站| 亚洲国产一区二区三区青草影视| 久久爱另类一区二区小说| 午夜久久黄色| 久久久精品tv| 亚洲国产91精品在线观看| 欧美国产日本| 久久男人资源视频| 女主播福利一区| 亚洲国产欧美日韩精品| 亚洲每日在线| 亚洲网在线观看| 亚洲欧美日韩国产中文| 欧美中文字幕视频| 久久久人成影片一区二区三区 | 香港久久久电影| 一区二区三区毛片| 在线中文字幕不卡| 久久久www成人免费无遮挡大片| 久久综合伊人77777蜜臀| 亚洲国产毛片完整版| 亚洲欧美日韩另类| 欧美本精品男人aⅴ天堂| 欧美日韩小视频| 黄色日韩网站| 日韩午夜在线| 久久伊伊香蕉| 久久精品视频在线观看| 欧美另类变人与禽xxxxx| 国产一区二区精品丝袜| 亚洲精品久久嫩草网站秘色| 一本色道久久综合狠狠躁篇的优点| 久久网站免费| 亚洲丰满在线| 午夜精品在线| 久久视频一区二区| 亚洲综合激情| 国产精品网站在线观看| 一本色道久久综合狠狠躁篇怎么玩 | 欧美激情中文字幕一区二区 | 日韩天堂在线观看| 蜜桃伊人久久| 久久久久国产精品一区三寸| 欧美日韩国产黄| 亚洲影院免费观看| 亚洲影视综合| 亚洲国产精品va在看黑人| 欧美激情第3页| 欧美大片在线看免费观看| 亚洲午夜精品久久久久久app| 亚洲午夜精品久久| 国产欧美日韩视频| 欧美不卡福利| 国产欧美日韩视频一区二区| 欧美大片一区| 国产专区欧美专区| 亚洲人成亚洲人成在线观看图片| 国产精品久久久久久久午夜片| 久久国产精品99久久久久久老狼| 欧美影片第一页| 亚洲伊人一本大道中文字幕| 久久在线播放| 久久亚洲国产精品一区二区 | 久久亚洲精品一区| 欧美经典一区二区三区| 久久天天狠狠| 欧美日韩在线播放一区二区| 久久精品首页| 国产午夜亚洲精品羞羞网站| 欧美激情综合| 1024精品一区二区三区| 午夜精品久久久久久久99樱桃| 亚洲人成网站精品片在线观看| 亚洲欧美日韩高清| 欧美中文字幕久久| 欧美天堂在线观看| 99精品热6080yy久久| 一区二区高清视频| 欧美激情第六页| 欧美激情第10页| 夜久久久久久| 国产精品区二区三区日本| 亚洲黄色尤物视频| 亚洲视频免费看| 国产日本欧美一区二区三区| 亚洲欧美在线aaa| 欧美xart系列高清| 在线视频亚洲欧美| 久久视频免费观看| 欧美日韩国产三区| 日韩一级网站| 久久久夜夜夜| 亚洲一级高清| 国产中文一区| 欧美国产视频一区二区| 国产精品99久久99久久久二8 | 久久久视频精品| 日韩视频一区二区| 久久综合伊人| 欧美亚洲一区| 亚洲免费av电影| 激情欧美一区二区三区在线观看| 欧美mv日韩mv国产网站| 欧美一区二区三区免费视频| 欧美第十八页| 久久夜色精品国产欧美乱极品| 夜夜嗨网站十八久久| 在线看欧美日韩| 国内一区二区在线视频观看| 国产精品99免视看9| 欧美午夜精品久久久| 久久久国产精品一区| 亚洲一区二区三区色| 亚洲欧洲精品天堂一级| 在线精品国产欧美| 国产真实久久| 在线观看日韩av先锋影音电影院 | 亚洲一区二区三区乱码aⅴ| 国内精品久久久久影院色| 国产精品制服诱惑| 国产精品手机视频| 国产精品青草综合久久久久99 | 欧美激情一区三区| 免费观看成人www动漫视频| 久久精品国产亚洲精品| 99精品久久免费看蜜臀剧情介绍| 亚洲第一黄网| 亚洲国产成人精品久久| 麻豆精品视频| 亚洲大胆女人| 一区二区三区 在线观看视频| 亚洲欧美色婷婷| 欧美在线3区| 亚洲激情在线观看| 99国产精品| 亚洲欧美视频一区二区三区| 久久久久国内| 欧美午夜片在线免费观看| 国产目拍亚洲精品99久久精品 | 99精品视频免费| 亚洲欧美另类在线| 久久精品国产77777蜜臀| 亚洲欧美视频在线观看视频| 欧美另类一区| 最新精品在线| 亚洲最新视频在线| 亚洲一区二区三区精品在线观看 | 欧美视频亚洲视频| 国内精品久久久久久久97牛牛| 亚洲片国产一区一级在线观看| 久久久欧美精品| 久久久精品日韩| 一区二区在线观看视频| 玖玖在线精品| 免费在线观看一区二区| 91久久国产综合久久| 亚洲电影在线观看| 欧美日韩国产在线看| 亚洲专区一区二区三区| 亚洲综合日韩在线| 国产精品久久久久免费a∨| 一区二区三区免费观看| 亚洲无限av看| 国产精品毛片va一区二区三区 | 蜜臀久久99精品久久久久久9| 亚洲国产精品久久人人爱蜜臀| 欧美大片91| 国产精品久久久久9999高清| 久久精品一本| 欧美国产精品日韩| 亚洲欧美成人综合| 久久综合久色欧美综合狠狠| 一本一本a久久| 亚洲一区精品电影| 亚洲人成啪啪网站| 欧美一级视频精品观看| 亚洲品质自拍| 久久久国产视频91| 亚洲另类自拍| 久久精品亚洲一区| 西西裸体人体做爰大胆久久久| 久久综合色播五月| 欧美一区二区三区喷汁尤物| 久久久久久久久伊人| 亚洲欧美影音先锋| 国产精品国产三级国产aⅴ入口| 欧美激情一区二区三区蜜桃视频| 国产啪精品视频| 亚洲性视频h| 午夜精品久久久久久久久|