vs2010中正确加载gif格式图片
实现方法如下:
一.显示GIF图片控件类的介绍:
(CPictureEx类下载地址:http://download.csdn.net/detail/wangtiti/4372882)
无论是在VC6.0还是在VS2010中,都没有自带控件能显示GIF动画图片。能显示一些静态图片的只是Picture控件。本例程用到的GIF动画显示控件类是 PictureEX。其定义文件是 PictureEx.h,类的实现文件是 PictureEx.cpp。有关该类的成员函数和方法说明如下:
程序代码:
BOOL Load(...) ——加载GIF 并准备绘画对象;
BOOL Draw() ——绘制图像或继续动画显示。
void Stop() ——停止动画;
void UnLoad() —— 停止动画并释放所有资源;
void SetBkColor(COLORREF) ——为透明区域设置填充颜色;
COLORREF GetBkColor() ——获取当前填充颜色;
BOOL IsGIF() —— 如果当前图像是 GIF 则返回 TRUE;
BOOL IsAnimatedGIF() ——如果当前图像是动画 GIF,则返回TRUE;
BOOL IsPlaying() ——如果当前图像是以动画方式显示则返回TRUE;
SIZE GetSize() ——返回图像尺寸。
int GetFrameCount() ——返回当前图像的帧数量;
BOOL GetPaintRect(RECT *lpRect) ——返回当前绘制的矩形。
BOOL SetPaintRect(const RECT *lpRect) ——设置当前绘制的矩形;
二.编程应用步骤:
1.建立一个对话框的MFC工程。将GIF动画图片资源文件拷贝至工程目录的Res文件夹下,然后用添加资源的方法将这两个资源文件导入到你的工程中。
步骤:导入资源——找到要加载的GIF格式的文件——导入——资源类型写GIF,确定
( VS2010 中如果直接添加 GIF后缀的资源,会将GIF文件内部强制转化为静态BMP文件,从而使GIF图片失去动态效果,故在加载前应改个后缀如:.gifa。 )
2.拷贝PictureEx.h和PictureEx.cpp到你的工程目录下,然后在将该类添加到你的工程中。
3.一切准备工作以经完成。下面是添加代码:
在对话框类定义文件(XXXXDlg.h)中
添加:
#include "PictureEx.h"
定义:
CPictureEx* m_pGif;
在对话框的实现文件(XXXXXDlg.cpp)中
对话框初始化函数 BOOL CXXXXDlg::OnInitDialog()中添加如下代码:
BOOL CXXXXDlg::OnInitDialog()
{
........
m_pGif = new CPictureEx();
if (m_pGif == NULL) return;
RECT rt = {71,55,189,61}; //图片显示的矩形区域
m_pGif->Create(_T(""),WS_CHILD | WS_VISIBLE | SS_NOTIFY,rt, this);
m_pGif->ShowWindow(SW_SHOW);
// CString str;
// str = GetAppPath()+_T("resource\\LoadingProgress.gif");
// if(m_pGif->Load(str))
if (m_pGif->Load(MAKEINTRESOURCE(IDR_GIF_PROGRESS_LOADING),_T("GIF")))
{
m_pGif->SetAdID(_T("下载进度条"));
m_pGif->SetPosition(0, 0);
m_pGif->Draw();
}
else
{
delete m_pGif;
m_pGif = NULL;
}
........
}
即可实现GIF动画格式图片的播放。
注: 1、从资源中加载GIF图片时,加载前要把GIF图片的后缀名给换一下
2、图片如果不能正常显示,把GIF图片资源重新导入下再试
上面是从资源中加载GIF图片,如果从指定路径中加载直接用注释的那部分代码
m_pGif可能需要自己销毁
vs2010中正确加载gif格式图片相关推荐
- VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application'的解决方法...
VS10出了点问题,卸载重装之后启动,弹出"VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Applic ...
- VC下加载多种格式图片的方法总结
From: http://www.cnblogs.com/Daywei/archive/2011/03/19/1988848.html 尽管VC有提供相应的API和类来操作bmp位图.图标和(增强)元 ...
- Android中如何加载显示大尺寸图片不发生OOM
前言:当加载高清大图时,系统给每个应用分配的内存是有限的,如果一个资源图片太大,加载到内存中后,占用的内存空间也会很大,这样就会造成OOM.那在Android开发中如何正确加载高清大图呢? 采用Bit ...
- 使用openlayers3加载png格式图片
1.官方实例 tiff是图片的一种格式,与png相比,主要有以下区别: PNG,图像文件存储格式,其目的是试图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性.PNG用来存储灰度 ...
- 关于qt qpixmap qimage 无法正常加载jpg格式图片问题(坑啊)
近期遇到一个问题是 QPixmap / QImage 无法加载 .jpg / .jpeg 格式的图片 QLabel .showPixmap 无效 以下都确认是没有问题的 1.图片路径无问题 2.大部分 ...
- ios 中webView加载html文本图片显示不全
在iOS开发过程中,用webView显示富文本内容是很常见的需求,加载富文本时通常还要根据webView的高度动态计算cell的高度(例如我们要在tableView或者collectionView的某 ...
- 【Android Demo】加载.gif格式图片
Android系统为了节省内存,一般不支持直接显示gif图片,即使你强制设置了,也只会显示图片的第一帧. 这个 Demo 是在网上看到的,是个思路,还是有些局限性,还是记录下,以后研究吧. 1.效果图 ...
- vs2010不能正确加载 #39;VSTS for Database Professionals Sql Server Data-tier Application#39;包
VS2010数据库项目不能正常工作解决方案 症状: A:不能创建数据库项目 B:打开.sql文件报错 The 'VSTS for Database Professionals Sql Server D ...
- 解决VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application
安装CRYSTALREPORTS时造成vs2010出错,修复安装了一次,再打开VS2010就出现标题所示问题.网上有帖子说在WIN7系统下删除文件什么的...本人是windows2012,尝试将C:\ ...
- VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application'
xp sp3 装SQL2008 R2 出错了,没管,接着装VS2010 正常. 第二天看着没装上的SQL 2008 R2来气就卸了.再打开VS2010就出现上述问题. 在网上找到此方法: 1.C:\U ...
最新文章
- 【Go】Go基础(九):接口(Interfaces)与反射(reflection)
- 不是所有邮件服务器都叫智慧邮件系统
- OJ系列之---IP与整数之间的转换
- gj2 python中一切皆对象
- aspx练习备忘录#想锤自己两拳#1
- oracle修改表字段
- java获得网页的编码方式_求一段代码,可以获得编码格式是gb2312的网页的页面源码,java实现!...
- 声卡突然听不到监听_音乐人/键盘手伴侣物问题之:专业监听音箱的音质必须用独立声卡...
- R语言排序 -- sort() order() rank()
- vue 多个回调_Vue 进阶面试必问,异步更新机制和 nextTick 原理
- ndarry转置二阶及以上的矩阵
- 两个栈实现一个队列,两个队列实现一个栈-JAVA
- 小米手机怎么设置鸿蒙开机动画,小米9开机动画太酷炫了!还不知道怎么设置赶紧来看看!...
- 一根网线连接两台电脑的方法
- Google Cloud + Firebase 讲解
- UEBA对抗威胁之“健康就是财富”!
- utf8一个汉字最多需要多少个byte
- 教育培训行业如何做好私域运营
- 45特征03——最小多项式的概念和性质、广义特征子空间分解
- LinkedIn动态如何发布,效果更好?更好的发挥领英功效