VC++实现输出GIF到窗体并显示GIF动画的方法

VC++实现输出GIF到窗体并显示GIF动画的方法,第1张

概述本文讲述了VC++在窗体显示GIF动画的方法,这是主要代码部分,在这段代码中,VC++将使用GDI技术加载GIF图像,定义GUID数组、定义指针、初始化各成员变量、释放属性对象、释放GUID等资源等。

本文讲述了VC++在窗体中显示GIF动画的方法,这是主要代码部分,在这段代码中,VC++将使用GDI技术加载gif图像,定义GUID数组、定义指针、初始化各成员变量、释放属性对象、释放GUID等资源等。

代码如下:

//加载GIF文件voID COutputGIFDlg::Onbrowse(){ CfileDialog flDlg(TRUE,"",OFN_HIDEReadonly | OFN_OVERWRITEPROMPT,"GIF|*.gif;||");//定义文件打开对话框 if (flDlg.DoModal() == IDOK) { CString szText; szText = flDlg.GetPathname(); m_filename.SetwindowText(szText); m_pBmp = Bitmap::Fromfile(szText.AllocSysstring()); //加载gif图像 szText.ReleaseBuffer(); m_nCount = m_pBmp->GetFrameDimensionsCount(); //获取帧维数 GUID *pGuIDs = new GUID[m_nCount]; //定义一个GUID数组 m_pBmp->GetFrameDimensionsList(pGuIDs,m_nCount); //获取图像帧的GUID m_FrameCount = m_pBmp->GetFrameCount(pGuIDs); //获取GIF帧数 UINT nSize; //定义一个整型变量 m_nCount = 0; //初始化成员变量 m_pBmp->GetPropertySize(&nSize,&m_nDelay); //获取属性大小 PropertyItem *pItem = NulL; //定义属性指针 pItem = (PropertyItem*)malloc(nSize); //为属性指针分配合适的空间 m_pBmp->GetAllPropertyItems(nSize,m_nDelay,pItem);//获取属性信息 m_nDelay = ((long*)pItem->value)[0]; //获取第一帧的延时 free(pItem); //释放属性对象 delete [] pGuIDs; //释放GUID m_nIndex = 0; //初始化成员变量 KillTimer(1); SetTimer(1,300,NulL); }}voID COutputGIFDlg::OnTimer(UINT nIDEvent){ GUID GuID = FrameDimensionTime; //定义一个GUID CDC* pDC = GetDC(); //获取窗口的设备上下文 //定义一个内存画布 cmemDC dc(pDC,CRect(20,50,m_pBmp->GetWIDth()+20,m_pBmp->GetHeight()+50)); Graphics gh(dc.m_hDC); //定义一个图像对象 //向设备上下文中绘制图像 gh.DrawImage(m_pBmp,m_pBmp->GetWIDth(),m_pBmp->GetHeight()); m_pBmp->SelectActiveFrame(&GuID,m_nIndex++);//设置下一帧 if(m_nIndex == m_FrameCount) //判断当前帧是否为尾帧  m_nIndex = 0; //将当前帧设置为第一帧 CDialog::OnTimer(nIDEvent);}voID COutputGIFDlg::OnCancel(){ if (m_pBmp != NulL) { delete m_pBmp; m_pBmp = NulL; } CDialog::OnCancel();}
您可能感兴趣的文章:C++ 中CloseHandle 函数--关闭一个句柄VC6实现激活后台窗口最佳方法VC实现对话框窗口任意分割VC小技巧汇总之窗口技巧VC实现A进程窗口嵌入到B进程窗口中显示的方法在VC中隐藏控制台程序窗口的实现代码C++之CWnd窗口框架实例C++获取任务栏打开程序窗口示例用VC++6.0的控制台实现2048小游戏的程序VC++编程获取窗口句柄的方法小结 总结

以上是内存溢出为你收集整理的VC++实现输出GIF到窗体并显示GIF动画的方法全部内容,希望文章能够帮你解决VC++实现输出GIF到窗体并显示GIF动画的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1142750.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存