为啥MFC只能用位图不能用png图?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥MFC只能用位图不能用png图?相关的知识,希望对你有一定的参考价值。

这样好不爽?真的只有用位图吗?微软的ppt里面都可以用png图,可以部分透明的,微软的MFC却不行,郁闷。

参考技术A MFC可以用png,但是没有写好的类,需要自己开发或下载相应的组件。
任何图片格式如果要使用,都要在内存中转换成位图(DIB图像)。所以MFC只提供对位图的操作。至于png, gif, jpg, tiff, pcx等格式如何转换成位图,您可以下载相应的辅助软件件或自行开发。推荐MFC + CxImage。可以方便地操作很多格式的图像文件。
CxImage下载地址:http://www.codeproject.com/KB/graphics/cximage/cximage600_full.zip
CxImage简单介绍:http://www.codeproject.com/Articles/1300/CxImage本回答被提问者和网友采纳
参考技术B 用Cximage开源类就可以了,下载一个

猎豹MFC--图片控件CStatic和动画控件CAnimateCtrl


建立MFC对话框:
技术分享
修改Picture Control 控件控件属性的ID和Type为Bitmap
技术分享
然后添加BitMap资源:
技术分享
把已准备好的bmp图片资源复制

到res文件夹:
技术分享

导入位图资源:
技术分享



技术分享

设置 type 为Bitmap   Image为位图ID:添加后如下图:
技术分享

添加一按钮。双击该按钮,在按钮处理程序中添加  位图处理程序:
技术分享
用位图句柄接收:
技术分享

给图片框添加变量
技术分享
技术分享
技术分享
改为一个点.是当前级的文件夹。两个点事上一级的:
技术分享
技术分享
点一下按钮,图片便放生
变换:
技术分享
做的更灵活一点,用打开文件对话框
技术分享
效果如下:
技术分享
技术分享
想看那个就选哪个:
技术分享
添加两个竖线表示结束:
技术分享///////////////////////////////////////////////////////////////////////
动画控件:
技术分享
用动画控件播放avi视频:
技术分享
只能播放没有声音的视频:只有视频 木有音频的
技术分享
因其不能播放声音 所
以一般用来播放简单的动画。
把AVI复制到res文件夹下:
技术分享
把  AVI添加到资源中。自定义资源:
技术分享
把自动添加的删除:
技术分享
然后添加资源:

技术分享

然后导入AVI:
技术分享
导入后如下图:
技术分享

修改视频的ID:

技术分享
给动画控件  关联变量:
技术分享
技术分享

添加并双击按钮2:
技术分享
效果如下:‘
技术分享

动画控件:
技术分享




































































以上是关于为啥MFC只能用位图不能用png图?的主要内容,如果未能解决你的问题,请参考以下文章

mfc里给picture控件加载一张位图,然后在位图上画一条线,该怎么做

为啥coreldraw中涂抹笔刷和粗糙工具只能用于coreldraw的画的矩形等图形,却不能用于导入的图片啊?

为啥有些网站不能直接用FTP上传而只能用"SSH Secure Shell"

MFC对话框添加位图背景后编辑框输入文字会重影

为啥进行文件上传时只能使用post而不能用get?

为啥我编译的MFC应用程序在其他电脑上不能运行?