如何在VS2005中使用GDI+

如何在VS2005中使用GDI+

日期:2008-11-11 分類:MFC 編程筆記 | Tags:

版權聲明:轉載時請以超鏈接形式標明文章原始出處和作者信息及本聲明http://www.blogbus.com/keegoo-logs/31245186.html

(2008-11-11)

     最開始在VS2005中編寫GDI+的程序時,並不知道實際上VS2005是支持GDI+開發的。所以特意上網下了一個GDI+的庫,並用VS2005與其進行關聯。後來在網上看了一個帖子教如何在VS2005下配置GDI+,這才發現自己走了彎路。以下是在VS2005下配置GDI+的方法,貼出來和大家共享:

 

 Visual Studio 2005本身帶有GDI+的所有庫函數,所以不用像在VC++6.0裏那樣,需要將GDI+的頭文件和lib文件手工加入到工程中。 
 
但在使用GDI+之前需要首先完成以下幾步: 
1.在stdafx.h文件中加入以下幾句話: 
 
#include <gdiplus.h> //將GDI+頭文件加入到工程中 
#pragma comment(lib, "gdiplus.lib") //將GDI+的lib文件加入到工程中 
using namespace Gdiplus; //使用GDI+的命名空間 
 
2.假設工程名叫abc,則在自動生成的abc.h文件中添加成員變量: 
protected: 
GdiplusStartupInput m_gdiplusStartupInput; 
ULONG_PTR m_gdiplusToken; 
 
3.重載ExitInstance函數,在abc.h文件中添加: 
public: 
virtual int ExitInstance(); 
 
在abc.cpp文件中添加: 
int CabcApp::ExitInstance() 

// TODO: Add your specialized code here and/or call the base class 
GdiplusShutdown(m_gdiplusToken); 
 
return CWinApp::ExitInstance(); 

 
4.在abc.cpp的函數BOOL CabcApp::InitInstance()中添加: 
GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL); 
 
 
在完成以上幾步之後,就可以在窗口或者視圖的函數中進行繪圖了。


以上的方法經過測試非常好用!! 


注意要寫在OnPaint()中

http://czy.t.blog.163.com/blog/static/11691154820120260917596/

CClientDC *pDC = new CClientDC(GetDlgItem(IDC_STATIC_PIC));
CRect rect;
GetDlgItem(IDC_STATIC_PIC)->GetWindowRect(&rect);
Graphics graphics(pDC->m_hDC); // Create a GDI+ graphics object
Image image(_T("1.png")); // Construct an image
graphics.DrawImage(&image, 0, 0, image.GetWidth(), image.GetHeight());
delete pDC;

http://www.cnblogs.com/Lexy/archive/2011/04/09/2010418.html

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