GDIPlus 显示jpg png等图片

文章目录

  • GDIPlus
    • 1. GDI和GDI+
    • 2. MFC+GDIplus 的引入和使用方法
      • 2.1 引入GDI+库
      • 2.2 编译
      • 2.3 使用GDI+显示jpg图片

GDIPlus

1. GDI和GDI+

GDI (Graphics Device Interface)

  • 含义是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有 Windows程序的图形输出。
  • GDI+(Graphics Device Interface plus)是2000年后 windows发展出来的新技术
  • GDI+ 是一组通过 C++类实现的应用程序编程接口
  • GDI+ 是以前版本 GDI的继承者,出于兼容性考虑,Windows XP仍然支持以前版本的 GDI
  • 但是在开发新应用程序的时候; 为了满足图形输出需要应该使用 GDI+:因为 GDI+对以前的 Windows版本中 GDI进行了优化,并添加了许多新的功能。
  • GDI 只支持 bmp等少数图像格式读取,
    GID+ 支持大多数常见图像格式(如 jpg,png, tif,gif等等)

2. MFC+GDIplus 的引入和使用方法

2.1 引入GDI+库

GDIPlus开发包下载地址

  • 下载 GDI+ 开发包
  • 一个完整的 GDI+支持包至少包括如下文件:
  1. 头文件: gdiplus.h
  2. 动态链接库的.lib文件: gdiplus.lib
  3. 动态链接库的.dll文件: gdiplus.dll
  • 添加 GDI+开发包:
    1. Includes添加到当前目录上一级文件夹中
    2. Lib添加到当前目录上一级文件夹中
    3. dll和 exe放在 Debug文件夹下
    4. C/C++ 附加包含目录: …/Includes
    5. 链接器 -> 附加库目录: …/Lib 输入: lib文件名

2.2 编译


/* 添加以下 */
#include 
#pragma comment(lib,"gdiplus.lib")
using namespace Gdiplus;

注意:
解决方案平台选择 x64,进行编译

2.3 使用GDI+显示jpg图片

/*  
    该成员变量用来保存 GDI+被初始化后在应用程序中的 GDI+标识; 
    以便能在应用程序退出后, 引用该标识来调用 GdiplusShutdown来关闭 GDI+    
*/
private:
    ULONG_PTR m_gdiplusToken;

/*  OnInitDialog初始化 gdiplus的环境和 初始化 GDI+    */
GdiplusStartupInput m_gdiplusStartupInput;
GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL);

/*  OnPaint显示 jpg图片  */
Image* pImage = Image::FromFile(L"1.jpg");
CDC *pDc = GetDC();
Graphics graphics(pDc->GetSafeHdc());
graphics.DrawImage(pImage, 0, 0, pImage->GetWidth(), pImage->GetHeight());

/* 使用完 GDI+函数后, 需要卸载 GDI+, 释放 GDI+使用的资源 */
 Gdiplus::GdiplusShutdown(m_gdiplusToken);

/*  以上就是基本配置  */	


你可能感兴趣的:(MFC)