如何创建状态栏中使用的黑/白图标?

时间:2010-02-06 19:17:36

标签: cocoa

如何创建状态栏中使用的黑/白图标?

我认为它与图像的alpha通道有关,但我需要找到如何在photoshop或gimp中做到这一点。

1 个答案:

答案 0 :(得分:6)

Tell the NSImage instance for the icon that it should be a template image.状态项应该自动以正确的方式绘制。

我的原始答案如下。它描述了如何手动执行效果。在Leopard以及之后,您不需要执行任何操作 - 只需将图像告知模板图像,它应该只是工作。


在菜单附加功能中,它是在运行时应用的效果。我认为这是做菜单的附加功能;在状态项中,当然,这取决于应用程序。

菜单附加图标(不包括键盘布局图标)在清除时为纯黑色。 (查看菜单附加内容以查看此内容。)菜单附加和/或SystemUIServer(在您的情况下,您的应用程序)对此应用渐变:顶部大约-10%的不透明度,到顶部的-12%底部。

对于您的应用,在Opacity中的运行时间之前很容易做到这一点。在图层的主要内容中,用纯黑色填充你的形状;在图层的蒙版中,绘制一个填充了渐变的矩形,占据画布的整个16 x 16磅大小。使用白色或黑色作为遮罩模式;只要你设置渐变颜色来匹配就没关系:对于白色模式,将渐变设置为纯黑色,90%到88%不透明度;对于黑色模式,将其设置为纯白色,90%至88%不透明度。

您也可以在运行时使用混合模式执行此操作。首先绘制纯黑色,90%到88%的不透明度渐变,然后使用目标输入模式绘制形状(纯黑色,100%不透明度)。