GDI+ GDIPlus 的配置

GDI+(GDIPlus)的功能:

(1)    二維矢量圖形的繪製.

比如直線,矩形,圓,橢圓,點等等.它和GDI的不同之處在於它能在點定在浮點數之處.GDI中繪製直線:drawline(int a,int b); 而GDI+有很多重載函數.參數類型接受的範圍廣了.

(2)    象素繪製功能

很方便實現圖像的縮放,剪裁,翻轉,複製,格式的轉換等功能.

(3)    文字編排

強大的字體類(Font)可以輕鬆設置各種字體.

GDI+包括40多個類,50多個枚舉,6個結構體,及一些獨立函數.

Graphic類, Pen類Brush類, Image類,Bitmap類, Font類, Rect類,Point類, Size類, Color類, BitmapData類 ,等等.還有一些獨立函數,比如:  GdiplusStartup , GdiplusShutdown, 它們的功能是用於GDI+環境的初始化和GDI+資源的釋放.

Visual C++ 6 . 0 環境中配製GDI+方法:

(1)   下載GDI+SDK,http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip或者從微軟網站下載.

(2)   解壓GDIPlus.zip,將其中的Includes文件夾和Lib文件夾下的文件分別放入VC98目錄下的Includes文件夾和Lib文件夾中.

(3)   在項目屬性中添加GDI+靜態煉接庫. 打開工程選擇[project]菜單à[Settings],在下拉列表框中選擇Win32Debug,右側link標籤頁下的Object/librarymodules輸入gdiplus.lib ,單擊ok.

(4)  添加必要代碼.

1.     打開資源管理器,打開”stafx.h”文件,在其中添加如下代碼:

#ifndef ULONG_PTR

#define ULONG_PTR  unsigned long *

#include “Gdiplus.h”

using namespace Gdiplus;

#endif

2.     打開視圖類,選擇應用程序類CXXXApp(XXX爲項目名稱),爲其添加兩個成員變量. 第一個:GdiplusStartupInput類型的 m_GdiplusStartupInput  第二個: ULONG_PTR 類型的 m_GdiplusToken

3.     在CXXXApp類中的InitInstance函數中添加如下代碼:

     // 圖像庫初始化

     GdiplusStartup(&m_GdiplusToken ,&m_GdiplusStartupInput , NULL);

4.     重寫CXXXApp類的 ExitInitInstance函數

int CXXXApp::ExitInitInstance()

{

// 關閉GDI+圖象庫

GdiplusShutdown(m_GdiplusToken);

return CWinApp::ExitInstance();

       }

Visual C++ 2005200820102012環境中配製GDI+方法:

如果沒有GDI+的開發包先去下載,不過自VS2005後的版本都已經包含了GDI+開發包,應該不用下載。(因爲Visual C++2005中已經含有GDI+開發包,因此不用下載GDI+SDK.)

(1)在項目屬性中添加靜態鏈接庫。打開項目,選擇[project]菜單à[xxx屬性](xxx是項目名稱),打開項目屬性對話框,展開左側的配置屬性,選擇連接器下的輸入,然後在右側的附加依賴項中添加“ gdiplus.lib ” ,單擊 確定

(2)打開資源管理器,打開”stafx.h”文件,在其中添加如下代碼:

      #include <gdiplus.h>

      using namespace Gdiplus ;

(3)打開視圖類,選擇應用程序類CXXXApp(XXX爲項目名稱),爲其添加兩個成員變量. 第一個:GdiplusStartupInput類型的 m_GdiplusStartupInput  第二個: ULONG_PTR 類型的 m_GdiplusToken

(4)在CXXXApp類中的InitInstance函數中添加如下代碼:

     // 圖像庫初始化

     GdiplusStartup(&m_GdiplusToken, &m_GdiplusStartupInput , NULL);

(5)重寫CXXXApp類的ExitInitInstance函數

int CXXXApp::ExitInitInstance()

{

// 關閉GDI+圖象庫

GdiplusShutdown(m_GdiplusToken);

return CWinApp::ExitInstance();

       }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章