GDI 學習 1 初識GDI

2022-04-04 00:29:51 字數 1086 閱讀 8088

---恢復內容開始---

gdi+:

gdi+由一組c++類實現,是對於gdi的繼承,gdi+不僅優化了大部分gdi效能而且提供了更多特性。

允許應用程式開發者將資訊顯示在顯示器或者印表機上,而無需考慮該顯示裝置的詳細情況,gdi+與gdi一樣,都具有裝置無關性,使得應用程式和圖形硬體隔離開來。

gdi+的三個組成部分:

1.二維向量圖形

向量圖形由圖元(比如線條、曲線和圖形)組成。

使用者可以在圖元檔案中記錄向量影象(圖形命令的序列)。gdi+提供了metafile類,可用於記錄、顯示和儲存圖元檔案。metafileheader和metaheader類允許您檢查圖元檔案頭中儲存的資料。

2.影象

某些很難或者根本無法用向量圖形來顯示,。這種型別的影象可儲存為位圖,即代表螢幕上單個點顏色的數字陣列。

gdi+提供了image、bitmap和metafile類,可用於顯示、操作和儲存位圖,支援bmp、gif、jpeg、exif、png、tiff、icon、wmf、emf共9種常見的影象格式。。它們支援眾多的影象檔案格式,還可以進行多種影象處理的操作。

3.文字

使用各種字型、字型大小和樣式來顯示文字。

在mfc中使用gdi+

1.引入標頭檔案

#include

using namespace gdiplus;

#pragma comment(lib,"gdiplus.lib")

2.全域性變數設定

3.初始化gdi+物件

gdiplusstartupinput gsi;

gdiplusstartup(&m_ptrtoken,&gsi,null);

4.關閉

在exitinstance函式中新增

gdiplusshutdown(m_ptrtoken);

在ondraw函式使用gdi+來繪圖:

graphics graphics(this->getdc()->m_hdc);

pen pen(color(255, 0, 0, 255));

graphics.drawline(&pen, 0, 0, 100, 100);

GDI 學習筆記

gdi 不支援異或繪圖,而使用雙快取方式,避免了圖形閃爍,但是速度稍慢,占用記憶體較多。隨著硬體發展,這是乙個圖形編輯器的趨勢 用 gdi 開發向量圖形編輯系統的經驗之談 效能篇 經過無數次的實驗,終於形成了自己的 風格 宣告兩個bitmap物件,乙個用於即時的圖形繪製,另乙個用於存放已有的圖形。在...

GDI 基礎程式設計(1)

首先是在我的vs2008裡面配置gdi 庫,以及初始化gdi lib,參見 然後進行一些比較基礎的gdi 畫筆 影象處理 詳細請見注釋 imageatt.setcolormatrix colormatrix,colormatrixflagsdefault,coloradjusttypebitmap ...

Duilib中將GDI換成GDI

step1 在uirend.cpp的檔案頭加入下面 目的是包含gdi 的標頭檔案和庫,以及定義提取的路徑變數imagepath step2 在函式bool crenderengine drawimage hdc hdc,cpaintmanagerui pmanager,const rect rcit...