我想实现的XCode 4类似的人一个的TabBar图像掩码:剪辑与可可
我可以实现自定义图像的简单标签控制,但我想以编程方式应用内部阴影效果。我希望仅使用一种颜色提供简单的图标,而没有任何渐变或阴影效果,基本上只是图标的形状。然后我会把它涂成黑色,模糊它并绘制它。在绘制过程中,我需要剪裁到原始形状。有人能指出我正确的方向/课程吗?我搜索了可可绘图文档,但没有找到任何东西。谢谢!
我想实现的XCode 4类似的人一个的TabBar图像掩码:剪辑与可可
我可以实现自定义图像的简单标签控制,但我想以编程方式应用内部阴影效果。我希望仅使用一种颜色提供简单的图标,而没有任何渐变或阴影效果,基本上只是图标的形状。然后我会把它涂成黑色,模糊它并绘制它。在绘制过程中,我需要剪裁到原始形状。有人能指出我正确的方向/课程吗?我搜索了可可绘图文档,但没有找到任何东西。谢谢!
NSImage
有一个“模板图像”的概念。这是一个黑色和清晰的图像,适用于反转,压花,雕刻等各种处理。
NSImage
名称以“Template”结尾的名称将自动标记为模板图像。否则,您可以将图像标记为-setTemplate:
的模板。您可以使用-isTemplate
来检查图片是否为模板。
作为模板的图像本身并不会改变图像的呈现方式。代码可以查看一些元数据,并决定改变它呈现图像的方式。关于如何执行该呈现没有太多文档。相反,您应该利用NSCell
提供的内置支持,这是AppKit中唯一一个关注图像是否为模板的类。
这在older AppKit release notes中有更详细的描述。
也就是说,如果您仍在寻找制作图像蒙版并对其进行剪裁,则可能需要下拉到Core Graphics。 CGImage
直接支持蒙版图像的概念。 CGContext
支持与CGContextClipToMask()
剪贴蒙版图像。请参阅Quartz 2D Programming Guide。
我已经回答了一个类似的问题[here](http://stackoverflow.com/a/7138497/573626)。 – omz
太棒了,这正是我所期待的,谢谢! – DrummerB