Win32 Windows編程 十一

來源:互聯網
上載者:User

標籤:win32   gdi   位元影像   編程   windows   

一、位元影像的使用

1 位元影像 - 通過儲存映像上每個點的顏色,產生相應的位元影像檔案

光柵圖 - 可以理解為映像點陣的儲存

向量圖 - 可以理解為繪圖命令的儲存

2 位元影像的使用

2.1 載入位元影像

LoadBitmap

2.2 建立放置位元影像的DC

CreateCompatibleDC

2.3 將位元影像放入建立的DC中

SelectObject

2.4 繪製位元影像到當前DC中

BitBlt

StretchBlt 可以實現映像的縮放,但是縮放的效果不好

2.5 取出位元影像

SelectObject

2.6 刪除建立的DC

DeleteDC

2.7 刪除位元圖

DeleteObject

2.8 擷取位元影像資訊

int GetObject(  HGDIOBJ hgdiobj,  // handle to graphics object      GDI物件控點 這裡就是HBITMAP  int cbBuffer,     // size of buffer for object information  位元影像資訊的BUFF的大小  LPVOID lpvObject  // buffer for object information   位元影像資訊的BUFF指標);
位元影像的BUFF結構為BITMAP結構

二 座標系和映射模式

1 座標系

1.1 裝置座標系

裝置座標系以像素為單位,x正方向從左往右,y正方向從上往下

螢幕座標系 - 以螢幕的左上方為(0,0)點

視窗座標系 -  以視窗最外邊框的左上方為(0,0 )點

客戶區座標系 - 以視窗內的客戶區的左上方為(0, 0) 點

1.2 邏輯座標系

以邏輯單位定義的座標系。繪圖過程中使用的座標基本是以邏輯座標系繪製 預設情況下和裝置座標系保持一致,

但是可以修改

2 映射模式

邏輯座標系和裝置座標系之間的映射關係

2.1 映射模式的種類

MM_TEXT - 預設的映射方式,邏輯座標系和裝置座標系一致

MM_LOMETRIC - 0.1MM  X 方向一致 Y方向相反

MM_HIMETRIC  -  0.01MM    X 方向一致 Y方向相反

MM_LOENGLISH - 0.1inX     方向一致 Y方向相反

MM_HIENGLISH - 0.01inX     方向一致 Y方向相反

MM_TWIPS - 1/1400in 方向一致 Y方向相反

MM_ANISOTROPIC  -  可以指定邏輯單位 XY方向可以指定          X軸單位可以不等於 Y軸單位

MM_ISOTROPIC       - 可以指定邏輯單位  XY的方向也可以指定, X軸單位 = Y軸單位

3  映射模式的使用

3.1 設定映射模式

int SetMapMode(  HDC hdc,        // handle to device context 映射的控制代碼  int fnMapMode   // new mapping mode 新的映射方式); //返回舊的映射模式

3.2 繪圖

3.3 回複舊映射模式

int SetMapMode(  HDC hdc,        // handle to device context  int fnMapMode   // new mapping mode);

3.4 MM_ISOTROPIC 

需要自己設計X/Y軸的正方向以及邏輯單位和裝置單位的比例

裝置座標  像素

BOOL SetWindowExtEx(  HDC hdc,       // handle to device context  int nXExtent,  // new horizontal window extent  int nYExtent,  // new vertical window extent  LPSIZE lpSize  // original window extent);

邏輯座標 

BOOL SetViewportExtEx(  HDC hdc,       // handle to device context  int nXExtent,  // new horizontal viewport extent  int nYExtent,  // new vertical viewport extent  LPSIZE lpSize  // original viewport extent);

通過添加加號或減號設定Y軸方向







Win32 Windows編程 十一

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.