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

Teo*_*ing 3 cocoa

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

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

Pet*_*sey 6

告诉NSImage实例图标应该是模板图像.然后状态项应该自动以正确的方式绘制它.

我的原始答案如下.它描述了如何手动执行效果.在Leopard和更高版本中,您不需要执行任何操作 - 只需将图像告知模板图像,它应该只是工作.


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

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

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

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