文章目录

  • 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 <gdiplus.h>
#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);/*  以上就是基本配置  */  

GDIPlus 显示jpg png等图片相关推荐

  1. 使用gdiplus显示gif图片

    使用gdiplus显示gif图片 需求 在没有MFC上下文的windows环境下实现gif图片的显示: 可以根据文件名来显示gif图片: gif图片集成到可执行程序中. 实现思路 windows ap ...

  2. 如何在python中显示电脑中的图片-python如何实现多个图片显示在屏幕上?

    pygame的三个方法(屏幕上显示需要的图片) yuhu102319582018-12-16 python将多幅图片显示在一张图片上 wugui1111116282018-06-15 iOS 图片显示 ...

  3. 如何显示服务器上的图片,显示服务器上的图片怎么写

    显示服务器上的图片怎么写 内容精选 换一换 内容审核服务输入图片参数"Image"是图片的base64编码,本节介绍利用谷歌浏览器进行图片格式转换,获取图片的base64编码信息. ...

  4. access找不到输入表或者dual_在Access窗体中显示指定路径的图片

    ↑↑↑点击上方图片,了解详情 在Access中,如果把图形对象以OLE格式的字段保存,那么在窗体中可以直接显示出图片来.但是这样做有以下不足: 一.需要将图片逐一插入到表中,工作量太大. 二.使数据库 ...

  5. 用CImage类来显示PNG JPG等图片

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 系统环境 ...

  6. 前端:JS/29/实例:控制div显示_滚动的图片

    实例:控制div显示_滚动的图片 <!DOCTYPE html> <html lang="en"><head><meta charset= ...

  7. 怎样在CSDN的博客里面显示上传的图片,教你一招

    有些时候,博客里面用的图片,这肯定是很正常的,CSDN也给我们提供了图片上传的功能,并且也能够将图片上传上去,并且提供了一个很好的图片及文件管理工具,心想这下可以给我的博客装装衣衣服了,因为博客里面总 ...

  8. vue通过链接显示服务器上的图片_图片网站该如何做SEO优化?详细讲解图片优化技巧...

    通常,在网站搜索引擎优化的过程中,很多站长和SEOer经常忽略图片的优化,但事实上,每个网站都有很多图片,所以优化网站图片就像优化其他内容一样,成为搜索引擎优化的一个重要工作内容. 如果你能成功地优化 ...

  9. 在access窗体中加图片_如何在Access窗体中显示指定路径的图片

    在Access中,如果把图形对象以OLE格式的字段保存,那么在窗体中可以直接显示出图片来.但是这样做有以下不足:一.需要将图片逐一插入到表中,工作量太大.二.使数据库文件变得庞大.三.相同的图片文件, ...

  10. php验证码显示碎图片,我的验证码只显示破碎的小图片

    源自:2-1 验证码制作 我的验证码只显示破碎的小图片 header("content-type:image/gif"); //通过GD库做验证码 //创建画布 session_s ...

最新文章

  1. NLP-基础知识-004(生成模型)
  2. boost::mpl模块实现erase相关的测试程序
  3. Linux下创建用于并指定该用户的主目录和相关权限
  4. python批量识别图中文字自动命名_python实现批量命名照片
  5. android聊天,存储聊天记录sqlite
  6. java堆和客栈_JAVA中堆、栈,静态方法和非静态方法的速度问题
  7. 2021年CBA总决赛第三场预测
  8. 程序员不会SQL有多难?高级工程师:可能工作都找不到!
  9. windows如何更改字体
  10. 简要描述服务器虚拟化四大特性,虚拟化的四大特性
  11. 如何出售自己的代码并且不让人看到自己的源码?
  12. 移动的项目,在tunnel为888696的情况下创建业务
  13. 疑因内部宫斗被离职,中兴 70 后程序员从公司坠楼 ​​​​
  14. JavaScript原型是什么
  15. 从毕业到2010的Java程序员生涯(一)
  16. Python3基础教程
  17. 第三章 SIMT 内核:指令和寄存器数据流
  18. 吴磊《星汉灿烂》新角色贯穿主线 演技惊喜引期待
  19. 2013.11.19
  20. 软件测试BUG提交方式

热门文章

  1. unity的代码优化
  2. 【控件】mars3d控件的设置
  3. 微型计算机原理及应用吴宁课后答案,微机原理及应用(吴宁) 习题答案chapter7(4页)-原创力文档...
  4. WebSocket入门使用教程
  5. 用vs2008编写和调试linux程序 ----VisualGDB 使用教程
  6. visio 2013安装使用
  7. 梦幻西游qq表情包YR
  8. HTTP协议状态码大全
  9. jupyter in vscode python语法不高亮 单元格语言格式CVE
  10. 如何检测VC运行库是否安装