GDI初學者的總結

2021-05-22 09:58:20 字數 861 閱讀 9189

許多windows程式設計書籍都談到了關於這方面的內容,然而有些地方屬於誤導,有些則重點沒有突出,使讀者自己產生誤解.我也在這上面吃過苦頭.下面是我的個人簡單總結:

1.視窗和視口

視窗:虛擬存在的乙個螢幕,之所以引入這個概念,是windows在繪圖時,首先根據對映模式座標系將圖形繪製到虛擬的視窗中,然後將視窗中的內容對映到視口中.

視口:在螢幕上看到的檢視客戶區域.

2.裝置座標系和邏輯座標系

裝置座標系:與視口對應,單位畫素,x軸向右,y軸向下.(0,0)點始終顯示在平面的左上角.

邏輯座標系:與視窗對應.根據對映模式的不同,單位和座標軸的方向都相應的不同.

預設的對映模式是(mm_text),此時邏輯座標系單位畫素,同裝置座標系各方面都一致.

3.視窗原點和視口原點.

原點的座標不一定是(0,0),這是最容易令人費解和誤解的地方.一定不要以為原點座標一定是(0,0).視窗原點和

視口原點兩者對映對應.

預設情況下,兩者的原點都在左上角.

4.setviewportorg()和setwindoworg()函式

這兩個函式盡量不要一起用,除非你思維敏銳,否則會很混亂,我個人認為使用乙個函式就能達到目的,我傾向於只使用setviewportorg().

setviewportorg(x,y),引數是裝置座標,將視口原點移至裝置座標系的(x,y).即將邏輯點(0,0)對映成裝置點(x,y).

setwindoworg(x,y)引數是邏輯座標,作用與上相反.

5.什麼時候使用邏輯座標和裝置座標

所有繪圖函式都使用邏輯座標.

通過滑鼠獲得的座標,getclientrect()等函式是裝置座標.

我也是初學,不對之處,請多指教~~

css總結 初學者

position absolute 絕對定位 position relative 相對定位 position static 靜態定位 position sticky是乙個新的css3屬性,它的表現類似position relative和position fixed的合體,在目標區域在螢幕中可見時,它...

初學者談初學者學html

這是乙個段落。解釋一下就是 html 與 html 之間的文字是描述網頁。head 與 head 之間的文字是文件的元資料。title 與 之間的文字是文件的標題。body 與 body 之間的文字是可見的頁面內容,是文章的主體部分。h1 與 h1 之間的文字被顯示為乙個大標題。p 與 p 之間的文...

C語言初學者總結

第一次練習 1 求1 2 3 100。迴圈 答案 include void main 2題目 輸入三個整數x,y,z,請把這三個數由小到大輸出。1 程式分析 我們想辦法把最小的數放到x上,先將x與y進行比較,如果x y則將x與y的值進行交換,然後再用x與z進行比較,如果x z則將x與z的值進行交換,...