为什么MFC只能用位图不能用png图?

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

第1个回答  推荐于2016-08-23
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本回答被提问者和网友采纳
第2个回答  2012-08-07
用Cximage开源类就可以了,下载一个

mfc中图片控件如何显示图片
在资源视图里面加载图片(只能是bmp格式的图片),然后在图片控件属性设置里面有设置图片资源id的下拉框里面选择要显示的图片id即可,如果要显示其他图片格式,需要自己编码实现,这样就没有必要使用图片控件。

MFC中如何用PNG文件作为启动界面
如果你一定要把Png放到exe文件中,那你必须构造IStream以生成cimage对象,还不如保存两种位图,然后再用标准mfc的方法加载。。。你注意看,,为了减小应用程序的大小,连使命的召唤这样牛逼的游戏,开始的Logo都是Bmp的哦。。。

VC MFC的单文件中如何使用位图代替CStatic控件,局部代码:cs->create...
在资源视图中选择图片控件,属性——type设置为Bitmap,Image选项中选择你要使用的位图资源ID。之前要先把位图添加到资源中。

mfc 显示图像问题:
3、将资源与控件关联:在图像控件上点右键,因为将其属性设置为了位图,因此,你应该能够在位图资源下拉框里看到新引入的图片资源ID,选择这个ID就可以了。然后编译运行,你引入的图片就会显示在窗口上。

在MFC对话框中载入位图,之后发现图片变模糊,知道的请进
图像显示模式。比如默认可以配置的操作系统桌面使用 24位色,还是32位色,还是16位色。如果你的位图是24位色,而你的应用程序默认使用的是16位色,那么显示的时候系统会强制将24位压缩成16位,就会出现你的情况。而反过来如果你的位图是16位,而应用程序的颜色模式是32位色,也是这种结果 首先确保你的...

mfc 在列表框里显示位图问题
你这个做法是实现不了列表框的背景图的。你在对话框的DC中贴图,当然会被列表框覆盖了,这个只是做对话框背景图的一个方法。列表框做背景图,有几个方案,最简单的,就是在对话框的OnCtrlColor中,用位图刷子代替控件的默认刷子。不过这个做法,在列表框有文字之后,并不是很理想,要想得到理想效果,...

如何利用mfc编程显示一幅位图
用单文档和对话框都可以。单文档:在Document类里添加OnOpen,这个函数用CFileDialog,在View类里重载OnDraw 对话框 拉一个static控件或者Picture控件,重载OnPaint函数,在里面画出来。不用API的话,只能显示8位bmp

C++ MFC中,位图怎么来的,可以把jpg格式的图片转换成位图吗?
都太麻烦,只要把扩展名改一下就行。在资源视图中,有个Bitmap文件夹,右击,选“引入”,找到你的位图就行了,可能会提示你“已经引入,不能显示”这类的意思,不用管它。不过你要是做背景图,那可就麻烦了,需要在好几个地方写代码,最少也要写十几句,在这里就不多说了。

在一个MFC应用程序中,采用Doc\\View框架来打开数字图像,主要步骤包括...
插入——资源——BitMap——引入——选择你要插入的图片(插入的图必须是位图,不能jpg等格式)——更改位图的ID号为IDB_BITMAP1。然后在OnDraw函数里定义位图类CBitmap和加载位图资源,如下代码:CBitmap bitmap;CDC dcMemory;bitmap.LoadBitmap(IDB_BITMAP1);dcMemory.CreateCompatibleDC(pDC);dc...

如何在MFC中插入位图
MFC中有一个位图类CBitmap,你可在资源中导入图片,必须是.bmp格式,然后定义类,最后Bitblt这个函数可以把位图下载到单文档或者其它工程中直接显示图片。下面是一份资料,你自己看看吧。在Windows中可以将预先准备好的图像复制到显示区域中,这种内存拷贝执行起来是非常快的。在Windows中提供了两种使用图形...

相似回答