1

我试图首先从可执行文件中提取图标,将其保存到特定文件并在 WPF 窗口中显示。

32x32 的质量非常好,但是当我尝试将其调整为更大时,它开始变得模糊。

来自我的应用程序的图像,100x100 图像旁边的 32x32 图像:
图像 http://img821.imageshack.us/img821/8967/imageresizemine.jpg

如您所见,它非常模糊,相比之下,这是来自不同应用程序的图像,该应用程序也从可执行文件(甚至更大)获取图标,因此显然是可能的。
图片 http://img714.imageshack.us/img714/1842/imageresizeother.jpg

关于这个(或至少是相关的)有几个主题,但我无法弄清楚究竟是什么问题。

我正在使用此代码显示图像。

<Image Height="100" 
       Width="100" 
       HorizontalAlignment="Left" 
       Source="{Binding ImagePath}" 
       RenderOptions.BitmapScalingMode="HighQuality"/>

我认为问题在于图像的显示,而不是最初的保存方式,但以防万一……我正在使用此代码保存图像。

Bitmap image = Icon.ExtractAssociatedIcon(FilePath).ToBitmap();   
image.Save(imagePath, System.Drawing.Imaging.ImageFormat.Png);
4

1 回答 1

4

ExtractAssociatedIcon 仅获取 32x32 图标,即使应用程序的资源有其他资源。您可能必须一路 p/invoke 某些东西才能获得 exe 中的任何其他图标。

于 2010-12-04T00:52:52.117 回答