我正在尝试实现类似于XCode 4中的tabbar:
我可以使用自定义图像实现一个简单的制表符控件,但我想以编程方式应用该内部阴影效果。我想提供只使用一种颜色的简单图标,没有任何渐变或阴影效果,基本上只是图标的形状。然后我会把它漆成黑色,模糊并绘制它。在绘图过程中,我需要剪切到原始形状。有人能指出我正确的方向/班级吗?我搜索了Cocoa Drawing文档但没有找到任何内容。谢谢!
答案 0 :(得分:4)
NSImage
有一个“模板图像”的概念。这是一个黑色和清晰的图像,适用于各种处理,如翻转,压花,雕刻等。
按名称加载的NSImage
名称以“模板”结尾,会自动标记为模板图像。否则,您可以使用-setTemplate:
将图像标记为模板。您可以使用-isTemplate
检查图片是否为模板。
作为模板的图像本身并不会改变图像的渲染方式。这是代码可以查看的一些元数据,并决定改变它呈现图像的方式。关于如何执行渲染的文档并不多。相反,你应该利用NSCell
提供的内置支持,这是AppKit中唯一关注图像是否是模板的类。
older AppKit release notes中有更详细的描述。
也就是说,如果您仍在寻找制作图像蒙版并剪裁它,您可能需要下载到Core Graphics。 CGImage
直接支持掩码图像的概念。 CGContext
支持使用CGContextClipToMask()
裁剪到蒙版图像。请参阅Quartz 2D Programming Guide。