0

我正在尝试实现一个类似于 XCode 4 中的选项卡栏:

在此处输入图像描述

我可以使用自定义图像实现一个简单的选项卡控件,但我想以编程方式应用该内部阴影效果。我想只使用一种颜色提供简单的图标,没有任何渐变或阴影效果,基本上只是图标的形状。然后我会把它漆成黑色,模糊它并绘制它。但是,在绘图期间,我需要剪辑到原始形状。有人可以指出我正确的方向/课程吗?我搜索了可可绘图文档,但没有找到任何东西。谢谢!

4

1 回答 1

4

NSImage有一个“模板图像”的概念。这是一张黑色清晰的图像,适用于反转、压花、雕刻等各种处理。

名称以“模板”结尾的NSImage按名称加载会自动标记为模板图像。否则,您可以使用 将图像标记为模板-setTemplate:。您可以使用 . 检查图像是否为模板-isTemplate

作为模板的图像本质上不会改变图像的渲染方式。这是代码可以查看并决定更改其呈现图像的方式的一些元数据。没有太多关于应该如何执行渲染的文档。相反,您应该利用 提供的内置支持NSCell,这是 AppKit 中唯一关注图像是否为模板的类。

这在较早的 AppKit 发行说明中有更详细的描述。

也就是说,如果您仍在寻找制作图像蒙版并对其进行剪辑,则可能需要下拉到 Core Graphics。 CGImage直接支持蒙版图像的概念。 CGContext支持使用CGContextClipToMask(). 请参阅Quartz 2D 编程指南

于 2012-05-20T19:28:43.100 回答