WPF应用程序中任务栏图标丑陋

10

在我的WPF应用程序中,任务栏中的图标看起来非常丑陋。

设计师给我发了一些PNG图片,例如:

32x32、64x64、96x96、128x128、192x192、256x256、512x512。

为了获得好看的任务栏图标,我需要做什么?

谢谢!


请定义您所说的“丑陋”。 - Bernard
3
可以,请提供一些截图。 - Ta Duy Anh
@Bernard,我在资源管理器中可以看到它们,但它们的像素似乎较少... - NoWar
@Taiki 抱歉,我不能这样做,因为该产品正在注册中。 - NoWar
1
你试过哪些尺寸?通常我认为96x96的尺寸相当不错。 - Ta Duy Anh
@BoltClock 哈哈哈,图片本身就很棒了... - NoWar
3个回答

17

制作一个包含多个尺寸的.ico文件。最小的应该有以下大小:16x16、32x32、48x48和256x256,参考Windows图标视觉指南。只有一个.ico文件将有助于Windows选择最佳的大小并根据情况(应用程序图标、大任务栏、小任务栏等)适当地缩放它。

如果您不是设计师,则最好让您的设计师制作16x16像素的图像,因为您拥有的较大图像可能过于详细,无法很好地缩小。如果较大的图像非常详细,则设计师可以制作较小的图像,使图标更清晰。上面链接的视觉指南提供了更多相关建议。


太酷了!我还找到了如何做到这一点的方法:https://dev59.com/V2855IYBdhLWcg3wbjnO - NoWar
链接已经失效。这个链接可用: Windows 图标视觉指南 - codingdave

8

我遇到过同样的问题,即使使用多尺寸的.ico文件,它也无法正常工作。在窗口中直接设置图标会导致像素化的图标。

我通过以下应用程序窗口的代码解决了这个问题:

private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        Uri iconUri = new Uri("pack://application:,,,/Images/myicon.ico", UriKind.RelativeOrAbsolute); //make sure your path is correct, and the icon set as Resource
        this.Icon = BitmapFrame.Create(iconUri, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad);

        //etc.
    }

图标文件是多尺寸的,在WPF - Windows 10中对我有效。

你可以在这里将你的.png图标转换为多尺寸的.ico文件http://icoconvert.com/


BitmapFrame可以解决问题,即使在构造函数中使用也可以。 - undefined

8
任务栏图标似乎在.ico文件中包含48x48像素版本后会变得模糊。某种原因,Windows选择缩小48x48版本而不是正确大小的32x32像素版本。解决方法是使用两个单独的图标文件:一个包含24x24和32x32版本的.ico文件,将其用作窗口的标题栏和任务栏图标,不需要进行不必要的缩放;第二个图标文件包含一系列大小(取决于来源)在16x16到256x256像素之间的图标,将其设置为项目属性中的应用程序图标,以使图标在其他所有地方(如桌面和文件资源管理器)上看起来良好。测试表明,在Windows 10上,这似乎覆盖了以下显示情况:任务栏、窗口标题栏、Alt-TAB菜单、桌面和文件资源管理器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接