MFC图片显示之GDI+

  利用GDI+可以很方便的在用户的控件上显示自己的图片,图片格式支持BMP,Graphics Interchange Format (GIF),Joint Photographic Experts Group (JPEG),Exchangeable Image File (EXIF),Portable Network Graphics (PNG),Tag Image File Format (TIFF)等。

  Visual C++ 2008中已经包含GDI+开发所需的所有东西。如果是VC++ 6.0,则需要下载GDI+支持包。在微软官方网站下载时需认证Windows为正版,我们可从这个地址下载:http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip。一个完整的GDI+支持包至少包括如下文件:

(1)头文件:gdiplus.h

(2)动态链接库的.lib文件:gdiplus.lib

(3)动态链接库的.dll文件:gdiplus.dll

  VC中GDI+的初始化工作:

1、(only for VC6):在工程属性中添加GDI+头文件和库文件的位置

2、动态引用lib文件:

#include 

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

using namespace Gdiplus;

3、初始化和关闭GDI+的环境

需要定义的变量:

ULONG_PTR gdiplusToken;  //可定义为全局变量,在初始化和关闭时都要用到

GdiplusStartupInput gdiplusStartupInput;  //可定义为局部变量,仅在初始化时用到

(说明:在VC++ 6.0中ULONG_PTR未定义,需要定义为:

#ifndef ULONG_PTR

#define ULONG_PTR unsigned long*

#endif)

初始化GDI+:

在CWinApp派生类的InitInstance函数或CDialog派生类的OnInitDialog函数中加入:

GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

关闭GDI+:

GdiplusShutdown(gdiplusToken);

4、图片显示

CDC *pDC = GetDC(); 

Graphics graphics(pDC->m_hDC); 

Image image(L"1.jpg", TRUE);  //注意:Image构造函数的第一个参数类型为const WCHAR*,所以需要为宽字符!!

graphics.DrawImage(&image, 10, 10);

至此,已经可以在自己的控件上显示图片了。微笑

更多关于GDI+的使用参考:

http://blog.csdn.net/byxdaz/archive/2010/10/28/5972759.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值