托盘图标看起来不错,但WPF Window图标看起来很糟糕

时间:2014-07-04 14:38:52

标签: c# wpf window icons

有没有办法强制WPF窗口将图标缩小到具有更好的缩放算法的大小,或强制它为我的图标使用更好的分辨率?

我制作了一个图标(ICO格式)文件,其中包含一个256x256,32位PNG图像。我在项目的属性中将项目的图标设置为此图标。当我运行应用程序时,它在Windows托盘中看起来很棒。

问题是当我将图标设置为有问题的窗口时。会发生什么......它没有正确地缩小我的图像,我在我的窗口的左上角处得到了这个丑陋的图像,并且有一些不好的抗锯齿。它根本不光滑。我该怎么办?

1 个答案:

答案 0 :(得分:3)

你有两个问题之一:WPF缩小图标(锯齿/歪斜),或图标渲染效果不佳(模糊)

要解决第一个问题,我不会依赖WPF来缩小图标。使用GIMP或Photoshop以16,32,64,128和256维度创建图标,并将它们保存在单独的文件夹中:

Icons
  16
    MyIcon.png
    AnotherIcon.png
  32
    MyIcon.png
    AnotherIcon.png
etc.

大多数图标库有多种尺寸(IconExperience,Syncfuction等)。如果您创建自定义图标,则应自行缩小尺寸以完全控制。

您可以创建自定义控件,以帮助您找到正确的图标。因此,您可以在一个常见位置定义要使用的大小图标:

<CustomIcon Name="MyIcon.png" Location="Ribbon"/>

其中Name是文件名,Location是自定义的枚举,允许您根据UI中的位置预定义大小。 CustomIcon可以从Image继承,并根据这两个属性在内部设置Source。

如果您认为遇到第二个问题,请尝试在MainWindow上设置UseLayoutRouding =“True”,并尝试使用RenderOptions.BitmapScalingMode(WPF4及以后版本)。