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

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

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

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

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

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

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

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

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

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

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

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

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   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>
            欧美三级日韩三级国产三级| 国产精品毛片va一区二区三区 | 欧美精品九九99久久| 久久riav二区三区| 欧美中文字幕在线观看| 久久视频在线看| 欧美女激情福利| 国产精品国产三级欧美二区| 国产精品激情偷乱一区二区∴| 国产精品久久久久久超碰| 国产婷婷色综合av蜜臀av| 影音先锋久久久| 在线视频精品一| 亚洲午夜一二三区视频| 亚洲在线播放电影| 久久久久久精| 欧美激情影音先锋| 亚洲最新中文字幕| 久久国产天堂福利天堂| 欧美激情小视频| 国产亚洲成人一区| 亚洲免费福利视频| 欧美一区高清| 亚洲国产精品成人久久综合一区| 久久综合五月天婷婷伊人| 亚洲激情图片小说视频| 午夜视频久久久| 欧美精品乱人伦久久久久久| 国产日韩欧美三区| 一区二区三区欧美在线| 久久亚洲视频| 亚洲一区二区三区中文字幕在线| 免费h精品视频在线播放| 国产伦理一区| 亚洲一区二区综合| 亚洲国产成人高清精品| 欧美一区1区三区3区公司| 欧美欧美在线| 最近中文字幕日韩精品| 久久国产精品第一页| 99成人精品| 欧美精品日本| 亚洲精品久久久久| 免费成人性网站| 羞羞色国产精品| 欧美日韩1区2区| 亚洲精品视频在线| 久久人人看视频| 欧美一区二区三区免费观看| 国产精品大片| 午夜精品视频在线| 亚洲免费观看高清完整版在线观看| 亚洲一区国产视频| 国产精品sm| 在线亚洲精品| 亚洲另类自拍| 欧美福利在线| 亚洲剧情一区二区| 亚洲国产精品嫩草影院| 另类激情亚洲| 亚洲乱码国产乱码精品精可以看| 欧美激情a∨在线视频播放| 久久女同互慰一区二区三区| 国内精品久久久久影院色| 亚洲欧美日韩国产成人| 一本色道**综合亚洲精品蜜桃冫| 欧美日韩亚洲视频一区| 亚洲一区一卡| 99精品国产在热久久婷婷| 欧美精品播放| 亚洲免费在线观看| 亚洲女同精品视频| 性久久久久久久久久久久| 亚洲视频精选| 国产欧美一区二区色老头| 久久精品人人爽| 久久久国产精品一区二区中文 | 欧美色图一区二区三区| 日韩视频免费看| 一级日韩一区在线观看| 国产精品理论片在线观看| 久久不射网站| 模特精品裸拍一区| 在线亚洲欧美视频| 性感少妇一区| 亚洲国产综合91精品麻豆| 91久久黄色| 国产无遮挡一区二区三区毛片日本| 美女露胸一区二区三区| 欧美激情免费观看| 欧美一区日韩一区| 欧美本精品男人aⅴ天堂| 亚洲在线观看视频| 久久人人爽人人| 亚洲图片激情小说| 性欧美长视频| 一本综合久久| 久久国内精品视频| 亚洲午夜电影| 免费黄网站欧美| 欧美在线看片| 欧美二区在线播放| 欧美在线免费视屏| 欧美日韩亚洲一区二区三区| 久久精品在线免费观看| 欧美激情网站在线观看| 久久久av网站| 国产精品成人观看视频免费 | 能在线观看的日韩av| 欧美理论电影网| 你懂的国产精品| 国产午夜精品麻豆| 99国内精品| 日韩视频久久| 久久亚洲一区二区三区四区| 亚洲午夜伦理| 欧美韩日亚洲| 欧美风情在线观看| 国产亚洲欧美一区在线观看 | 欧美1区2区视频| 久久嫩草精品久久久精品一| 欧美少妇一区| 亚洲精品日韩在线| 亚洲高清色综合| 久久精品视频va| 久久精品欧美| 国产一区二三区| 亚洲欧美日韩爽爽影院| 亚洲一区二区在线播放| 欧美精品激情blacked18| 蜜臀久久久99精品久久久久久| 国产一区二区主播在线| 久久久久久婷| 久久久精品日韩| 午夜精品久久久久久久99水蜜桃| 欧美日韩二区三区| 亚洲福利国产| 亚洲靠逼com| 欧美精品91| 日韩亚洲国产欧美| 亚洲精品一区二区三区樱花| 欧美成人精品1314www| 欧美国产日韩亚洲一区| 91久久夜色精品国产九色| 欧美电影在线观看完整版| 欧美国产日韩一区二区三区| 亚洲精品一品区二品区三品区| 免费日韩成人| 日韩视频永久免费| 中文欧美在线视频| 国产精品嫩草影院一区二区| 亚洲视频视频在线| 久久国产夜色精品鲁鲁99| 国产综合欧美| 欧美成人高清| 亚洲欧美美女| 欧美不卡视频一区| 一区二区三区欧美在线| 国产精品一区视频网站| 久久精品123| 亚洲精品美女久久7777777| 在线中文字幕不卡| 国产日韩av在线播放| 久久这里有精品视频| 亚洲美女在线视频| 久久久久久久一区| 亚洲人成人77777线观看| 欧美先锋影音| 久久久www成人免费无遮挡大片| 欧美激情中文字幕一区二区| 宅男噜噜噜66一区二区66| 国产女人水真多18毛片18精品视频| 久久国产一区| 亚洲视频日本| 亚洲人成小说网站色在线| 久久高清国产| 一本久道综合久久精品| 国产欧美日韩一区二区三区在线观看 | 欧美激情亚洲视频| 亚洲新中文字幕| 免费观看国产成人| 亚洲综合色自拍一区| 亚洲第一精品电影| 国产精品推荐精品| 欧美精品一线| 男人的天堂亚洲| 欧美一区二区三区婷婷月色 | 欧美日韩成人综合天天影院| 亚洲在线不卡| 亚洲人成在线播放| 久久久久久色| 欧美一区二区三区四区高清| 夜夜嗨av一区二区三区中文字幕 | 新67194成人永久网站| 欧美v日韩v国产v| 午夜亚洲激情| 亚洲天堂av高清| 99re6这里只有精品| 亚洲承认在线| 极品少妇一区二区三区精品视频|