微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在WPF / C#中调整和使用ICO文件

在我正在处理的应用程序中,有一个 Image(System. Windows.Media.Imaging的一部分)被动态地在XAML页面代码中创建并被添加到窗口中.我使用的ICO文件,其中包含各种尺寸和位深度.我想要的尺寸是96×96 @ 32位.该代码自动选择的最大尺寸(256×256 @ 32位).

我设置Image.source属性如下:

image.source = new BitmapImage(new Uri("pack://application:,/Resources/Images/Application.ico"));

现在,通过搜索,我发现了Icon(System.Drawing的一部分),这将允许我设置一个字符串路径和大小,但这是完全不同的库的一部分.

new Icon("pack://application:,/Resources/Images/Inquiry.ico",96,96);

任何想法,我怎样才能使我的图像的大小属性有点更易于管理?谢谢!

编辑:
Convert System.Drawing.Icon to System.Media.ImageSource
这个帖子使图像看起来更小,但是,如果将图标设置为96×96或128×128,则实际上并不会更改显示的图像大小.我假设它将会有一些与System.Windows.Media.Imaging认值不同的认值.

编辑编辑:奇怪的是越来越多.当我通过原来的方法显示,它肯定显示图像为256×256.然而,当我使用链接中描述的转换方法时,当尺寸发生变化时,它们会显着缩小(即256×256看起来更接近于48×48).

解决方法

您可以尝试使用以下代码,它应该适用于ICO文件
Image displayImage = new Image();
// Create the source
BitmapImage sourceImage = new BitmapImage();
sourceImage.BeginInit();
sourceImage.UriSource = new Uri("pack://application:,/Resources/Images/Application.ico");
sourceImage.EndInit();
// Set the source
displayImage.source = sourceImage;
// Set the size you want
displayImage.Width = 96;
displayImage.Stretch = Stretch.Uniform;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐