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+支持包至少包括如下文件:
- 头文件: gdiplus.h
- 动态链接库的.lib文件: gdiplus.lib
- 动态链接库的.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等图片相关推荐
- 使用gdiplus显示gif图片
使用gdiplus显示gif图片 需求 在没有MFC上下文的windows环境下实现gif图片的显示: 可以根据文件名来显示gif图片: gif图片集成到可执行程序中. 实现思路 windows ap ...
- 如何在python中显示电脑中的图片-python如何实现多个图片显示在屏幕上?
pygame的三个方法(屏幕上显示需要的图片) yuhu102319582018-12-16 python将多幅图片显示在一张图片上 wugui1111116282018-06-15 iOS 图片显示 ...
- 如何显示服务器上的图片,显示服务器上的图片怎么写
显示服务器上的图片怎么写 内容精选 换一换 内容审核服务输入图片参数"Image"是图片的base64编码,本节介绍利用谷歌浏览器进行图片格式转换,获取图片的base64编码信息. ...
- access找不到输入表或者dual_在Access窗体中显示指定路径的图片
↑↑↑点击上方图片,了解详情 在Access中,如果把图形对象以OLE格式的字段保存,那么在窗体中可以直接显示出图片来.但是这样做有以下不足: 一.需要将图片逐一插入到表中,工作量太大. 二.使数据库 ...
- 用CImage类来显示PNG JPG等图片
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 系统环境 ...
- 前端:JS/29/实例:控制div显示_滚动的图片
实例:控制div显示_滚动的图片 <!DOCTYPE html> <html lang="en"><head><meta charset= ...
- 怎样在CSDN的博客里面显示上传的图片,教你一招
有些时候,博客里面用的图片,这肯定是很正常的,CSDN也给我们提供了图片上传的功能,并且也能够将图片上传上去,并且提供了一个很好的图片及文件管理工具,心想这下可以给我的博客装装衣衣服了,因为博客里面总 ...
- vue通过链接显示服务器上的图片_图片网站该如何做SEO优化?详细讲解图片优化技巧...
通常,在网站搜索引擎优化的过程中,很多站长和SEOer经常忽略图片的优化,但事实上,每个网站都有很多图片,所以优化网站图片就像优化其他内容一样,成为搜索引擎优化的一个重要工作内容. 如果你能成功地优化 ...
- 在access窗体中加图片_如何在Access窗体中显示指定路径的图片
在Access中,如果把图形对象以OLE格式的字段保存,那么在窗体中可以直接显示出图片来.但是这样做有以下不足:一.需要将图片逐一插入到表中,工作量太大.二.使数据库文件变得庞大.三.相同的图片文件, ...
- php验证码显示碎图片,我的验证码只显示破碎的小图片
源自:2-1 验证码制作 我的验证码只显示破碎的小图片 header("content-type:image/gif"); //通过GD库做验证码 //创建画布 session_s ...
最新文章
- NLP-基础知识-004(生成模型)
- boost::mpl模块实现erase相关的测试程序
- Linux下创建用于并指定该用户的主目录和相关权限
- python批量识别图中文字自动命名_python实现批量命名照片
- android聊天,存储聊天记录sqlite
- java堆和客栈_JAVA中堆、栈,静态方法和非静态方法的速度问题
- 2021年CBA总决赛第三场预测
- 程序员不会SQL有多难?高级工程师:可能工作都找不到!
- windows如何更改字体
- 简要描述服务器虚拟化四大特性,虚拟化的四大特性
- 如何出售自己的代码并且不让人看到自己的源码?
- 移动的项目,在tunnel为888696的情况下创建业务
- 疑因内部宫斗被离职,中兴 70 后程序员从公司坠楼 ​​​​
- JavaScript原型是什么
- 从毕业到2010的Java程序员生涯(一)
- Python3基础教程
- 第三章 SIMT 内核:指令和寄存器数据流
- 吴磊《星汉灿烂》新角色贯穿主线 演技惊喜引期待
- 2013.11.19
- 软件测试BUG提交方式