2012-03-30 242 views
0

奇数之一,this。我正在处理的项目包括Windows资源(.rc)文件中的一些小图标(.ico文件类型),全部10x10黑色透明。图标可在Visual Studio中编辑,但在其他编辑器中显示为空白

在Visual Studio 2010中打开这些图标正确显示了图标编辑器,显示绿褐色的鲑鱼粉红色图标。 VS中的图标属性显示为“10x10,4位,BMP”。包含图标的应用程序可以很好地显示它们。

但是,我无法在外部编辑器中查看或编辑它们! Windows 7资源管理器的缩略图视图为空白; MS Paint也将它们加载为10x10空白图像。 Paint.Net(与.ico plugin)认为他们是10x10透明图像。 Windows文件属性将它们报告为10x10,32位图标。

发生了什么事?

回答

1

图标包含3个不同的位图。两个单色的,在你的情况下,一个4bpp位图。单色位图决定像素的显示方式。其中一个决定像素是否透明,在图标编辑器中显示为青绿色。另一个决定像素是否实际上是倒置的背景像素,它在图标编辑器中显示为粉红鲑鱼。

所以,如果你只看到蓝绿色和粉红色,那么你的4bpp位图根本没有对可见图标做任何贡献。无论您使用什么其他图标查看器来查看图标,都会因此而绊倒。这并不罕见,反转的背景像素只在Windows的早期阶段才有意义,当显示器的颜色数量非​​常有限时。像4bpp一样。

通过在4bpp位图中使用真实颜色来修复它。或者,如果您始终在众所周知的背景上显示图标,请不要担心。这不是典型的btw,用户可以改变窗口标题栏的配色方案设置。或者更改桌面的墙纸图像。由此产生的图标颜色将是非常随机的。

相关问题