在VC使用GDI+的配置方法
2012-09-21 17:18
253 查看
在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); }
相关文章推荐
- 在VC使用GDI+的配置方法
- 在VC使用GDI+的配置方法
- VC中使用GDI+的配置方法概述
- 在VC使用GDI+的配置方法
- VC环境下(非QT环境)使用Qt的配置方法
- VC6使用GDI+的配置方法
- VC6使用GDI+的配置方法
- VC++ 6.0 控制台程序使用GDI+的方法
- VC 6.0 配置和使用gdi+
- VC.net中使用GDI+的方法
- VC.net中使用GDI+的方法
- VC 6.0 配置和使用gdi+
- VC 6.0 配置和使用gdi+
- VC 6.0 配置和使用gdi+
- GDI+环境配置与使用方法
- VC6使用GDI+的配置方法
- Spring中使用Map、Set、List、数组、属性集合的注入方法配置文件
- StructureMap 使用的实例构造函数是程序运行时确定的配置方法
- 富文本编辑器UEditor的配置使用方法
- 使用STS或Eclipse配置内容助理(Java代码提示)的方法