您的位置:首页 > 编程语言 > C语言/C++

MFC 使用GDI+ 绘制Png、Jpg等类型图片

2015-01-14 10:22 337 查看

MFC是微软对Win32 API的封装,使用较为简单,但是在美化方面MFC本身就比较欠缺了,单单只是简单的设置一下背景图片这个操作就得需要好多行代码,并且还不能直接使用Png、Jpg等图片,今天小悠就在这里简单的说一下MFC成显示png和jpg等图片的方法.
先看一下绘制的效果吧:     



首先说一下程序中需要引入的头文件以及lib库

 要想显示Png、Jpg等格式的图片,需要引入微软的GDI+图形设备接口,在你的MFC程序中 导入头文件GdiPlus.h
和库文件 gdiplus.lib就能使用GDI+了,小悠一般是这么做的:
 

其次,在使用GDI+的时候需要初始化GDI+

初始化操作使用函数 GdiplusStartup(

  ULONG_PTR* token,
  const GdiplusStartupInput* input,
  GdiplusStartupOutput* output
);
来完成,其中

参数一:他是一个ULONG_PTR的指针,token这个参数就类

        似于一个句柄吧,关闭GDI+的时候需要用到它。

参数二:指针指向一个GdiplusStartupInput结构,其中包

        含了GDI+的一些信息。

参数三:指针到一个GdiplusStartupOutput结构,它接收

        一些GDI+信息

 

上面只是简单介绍了这个函数的参数,详细的信息你可以查看MSDN

例如小悠是这个样子初始化GDI+的:

为了简单的说明,我们就直接在Onpaint里面完成绘制的全部操作

因为要绘制一张图片,首先我们需要将图片载入内存,然后你还需要知道你需要绘制的目标区域,最后告诉GDI+你的图片的剪切区域,完成绘制就OK了,下面是小悠简单的写的一个操作,在OnPaint里面完成的:

最后在对话框的析构函数中要释放GDI+的资源

释放一句话搞定:

总结:

总的来说使用GDI+分为下面的几个简单步骤


包含对应的头文件,引入GDI+的lib库

初始化GDI+

绑定DC完成绘制

释放GDI+
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ mfc gdi+ 图片