MFC中引入的icon尺寸为48*48,将其显示输出尺寸为什么只有32*32

如题所述

第1个回答  推荐于2016-01-27
MFC中的icon需要多个尺寸格式,分别应用在不同的地方,包括桌面图标,任务栏图标、标题栏图标等,每个图标都有需要的尺寸,如果程序中有这个尺寸就直接使用,如果没有,那么会根据你其它尺寸图标进行放缩。所以,你的显示尺寸在不同的地方是不一样的,有的地方需要指定的尺寸。
MFC程序的资源图标,支持一个图标创建和使用多个尺寸,你在资源编辑器中给不同的尺寸定制一下就好了,至于显示,在一些地方是系统指定尺寸,如果不指定,使用的是你的默认图标(资源编号的第一个)追问

我在程序目录下放置了一个48*48的.ico图标,在程序资源中引入如下

在程序中使用DrawIcon输出显示,它的大小怎么变为32*32了

追答

你画图标之前,是用LoadIcon加载的吧。
Loadlcon只能装载大小符合SM_CXICON和SM_CYICON系统公制值的图标,其它尺寸(比如你的48)使用Loadmage函数装载。

追问

嗯,果然,我之前是用LoadIcon加载的,改为LoadImage后也成功了,太感谢你了。能不能顺便请教一下,接下来如何实现载入图标的旋转和移动,也就是让雪花飘起来,我对图形图像编程很感兴趣但都只能自学,有很多地方不懂,方便的话能留下你的联系方式吗

追答

做动画??
如果为了学习研究算法,要先看两本计算机图形学范畴的书。
不做算法研究,看OpenGL或者Direct3D吧,这两个都可以实现你的需求,比自己写算法还是要容易,并且显示效果会好很多。

追问

嗯,我就打算先看OpenGL的,那我就自己研究吧,谢谢你的指导。

本回答被提问者采纳
相似回答