在VC使用GDI+的配置方法

来源:互联网 发布:手机淘宝无线端链接 编辑:程序博客网 时间:2024/06/06 02:23

在VC使用GDI+的配置方法(发表时间: 2007-5-10 23:20:00)

【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/12567/25790.html 复制链接

分享到:0

唉,最近实在是感叹于自己的落伍. 这样一个令人兴奋的GDI+,却被我雪藏了很久,都不想用它.(可能是因为之前有GDI+漏洞的问题吧). 今天研究了一下才发现, 它恰恰为我提供了每天朝思幕想的一些功能, 如提供了一个Alpha透明度通道, 提供了字体和图形的反走样功能. 那还等什么呢? 赶快加入到GDI+的行列来吧. 哈哈. 不过, GDI+并不像原有的GDI那样,直接就可以使用.如果想要开发这样的程序,需要先按下面的配置一下.

如果你是Visual C++ 6.0的用户:

1. 下载GDI+的库. 运行GDI+需要一个GdiPlus.dll的文件; 开发GDI+的程序,还需要GdiPlus.lib和GdiPlus*.h文件.这些都可以在微软的网站上下到.(搜一下windows sdk,都出来了)

2. 将以上的文件放在你的工程中的一个目录,然后在stdafx.h中包含#include "GdiPlus.h" (这就取决于你放置那几个文件的地方了)

3. 在"工程"->"选项"里,添加一个链接库 GdiPlus.lib

如果你是Visual Studio 2003的用户:
不必去下载GDI+库了,因为VS2003已经自带了.

只要在stdafx.h文件中包括#include <gdiplus.h>, 
并且要在#include <gdiplus.h>语句之前加:#define   ULONG_PTR   void* ,否则报错。
并在项目->选项->链接器->输入 中填上需要的lib库, gdiplus.lib即可

在程序的App类里,添加一个成员变量: ULONG_PTR m_gdiplusToken;

在App的InitInstance函数里, 在"INT_PTR nResponse = dlg.DoModal();"之前,添加下面的语句:

 Gdiplus::GdiplusStartupInput gdiplusStartupInput;
 Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);

在"INT_PTR nResponse = dlg.DoModal();"之后添加下面的语句:

Gdiplus::GdiplusShutdown(m_gdiplusToken);

就可以使用GDI+了.使用的时候,注意先要声明使用GDI+的名字空间:

using namespace Gdiplus;






void CGDIplus2Dlg::OnDrawLine() {HDC          hdc;//PAINTSTRUCT  ps;Pen*         myPen;Graphics*    myGraphics;HWND hWnd=this->m_hWnd;//hdc = ::BeginPaint(hWnd, &ps);hdc = ::GetDC(hWnd);   myPen = new Pen(Color(255, 255, 0, 0), 3);   myGraphics = new Graphics(hdc);   myGraphics->DrawLine(myPen, 20, 10, 400, 200);   delete myGraphics;   delete myPen;//::EndPaint(hWnd, &ps);::ReleaseDC(hWnd,hdc);}


原创粉丝点击