加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 06:31:44 所属栏目:百科 来源:网络整理
导读:在我正在处理的应用程序中,有一个 Image(System. Windows.Media.Imaging的一部分)被动态地在XAML页面的代码中创建并被添加到窗口中.我使用的ICO文件,其中包含各种尺寸和位深度.我想要的尺寸是96×96 @ 32位.该代码自动选择的最大尺寸(256×256 @ 32位). 我设
在我正在处理的应用程序中,有一个 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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读