【发布时间】:2015-01-23 23:19:02
【问题描述】:
我创建并初始化TImageList...
ImageList:=TImageList.Create(self);
ImageList.ShareImages:=true;
我获得了小图标 (16x16) 的系统 ImageList 句柄...
ImageList.Handle:=SHGetFileInfo('',0,FileInfo,SizeOf(FileInfo),SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
现在我想在缩放到 50x50 像素的控制画布上绘制图标。我该怎么做?
【问题讨论】:
-
不能再小2个像素吗? 48x48 像素?
-
不,例如,我说的是 50,但我希望能够将其缩放到任何大小。
-
最好获得 48x48 或更大的尺寸并将其缩小,而不是将 16x16 拉伸到 50x50。在任何情况下,您都可以使用
ImageList.GetBitmap并使用它做任何您想做的事情。或者甚至更好地从中获取一个图标句柄,并使用DrawIconEx -
是的,缩小总比扩大好。这样,您将获得更好的图像分辨率。
-
您关心结果的质量吗?你介意这些图标看起来很可怕吗?
标签: delphi scale timagelist