【问题标题】:Icons in WinFormsWinForms 中的图标
【发布时间】:2012-04-06 07:17:41
【问题描述】:

我创建了一个包含两种不同图像尺寸的图标:

  • 一个 16x16 24bpp
  • 一个 32x32 24bpp

使用 Visual Studio 中的图标编辑器。

我曾希望当被表单(表单的图标属性)使用时,我会在其左上角看到 16x16 版本,在任务栏上看到 32x32 版本。不幸的是,任务栏中也使用了 16x16 版本。

所以我的问题很简单:如何说服 Windows 在我的图标文件的不同大小之间做出“更好”的选择?

【问题讨论】:

  • 在我的测试中,它使用了正确大小的图标。如果在设置表单的图标属性后更改图标,请尝试再次设置图标属性。顺便问一下你如何设置图标属性?
  • 这不是直接的解决方案,但您可以使用免费的 Gimp 将不同大小的图标组合到一个 .ico 文件中。这样准备好的图标应该可以按照您的意愿工作。
  • 我在 WinForms 设计器中设置了 Icon 属性。我也可以在 Visual Studio 中将不同大小的图标组合成一个 .ico 文件。应该有什么区别?颜色深度有什么技巧吗?或者我在 .ico 文件中按什么顺序填充不同大小的文件?
  • 可能是您的任务栏宽度或高度小于 32 像素?
  • 我曾经写过一个小应用程序,它将单图像 .ICO 文件组合在一起以生成具有多种大小和位深度的单个文件,我记得顺序确实很重要。如果我没记错的话,你首先想要最大/最好的颜色深度,否则 Windows 资源管理器会选择错误的图像。我知道您说的是您的应用程序而不是 Windows 资源管理器,但可能值得以不同的顺序尝试它们。

标签: c# winforms visual-studio


【解决方案1】:

将不同尺寸的图像作为图层导入 Gimp。确保较大的图标是顶层。然后您可以导出为 .ICO,Gimp 将制作一个包含多个图标的文件。

【讨论】:

  • 通过“确保较大的图标位于顶层”,您是在说服 Windows 做出“更好”的选择?
  • 是的。 Windows 期望顺序从大到小
  • 基于这篇博文:devblogs.microsoft.com/oldnewthing/20101018-00/?p=12513 我猜这是由于图标文件头数据填充错误造成的?在这一点上,我仍然需要一些实验来确定。
【解决方案2】:

更改 .ico 文件中图像的顺序:最大 -> 最小。

【讨论】:

    【解决方案3】:

    为了在任何用途中获得最佳质量的图标,我将创建最大的尺寸。这个尺寸是256*256。它将帮助您获得更好的质量,除了较小的尺寸,窗口不会将它们管理为唯一,因此请尝试分别创建 256' 、 32' 和 16' 作为图像并将它们组合为 .ico 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      • 2014-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多