我正在CIImage对象内绘制各种非矩形形状的阴影。我是通过子类化CIFilter并结合我自己的滤镜内核和高斯模糊滤镜来实现的。我想知道使用NSShadow是否可以实现性能提升。

另外我不确定NSShadow是否可用于绘制非矩形的阴影?例如,在another question的答案中,我发现要使用NSShadow,首先需要创建形状的NSBezierPath。

有任何提示,建议,还是在这种情况下尝试使用NSShadow完全不适合我?

最佳答案

我不知道是否会更快,但是肯定会更容易。记住,代码越少,bug越少。

NSShadow可以使用任何形状,矩形或其他形状。实际上,某些我们通常不认为是阴影的事物实际上可以实现为阴影。例如,发光只是白色的“阴影”。我猜想对焦环在内部是阴影。

您不需要创建NSBezierPath。绘制带有阴影的图像会很好用。唯一没有做的就是绘制渐变(如NSGradient中一样)。

为了其他读者的利益:所有这些在Quartz中同样适用于CGContext的阴影属性以及CGGradient和CGShading的排除。

关于objective-c - 使用NSShadow处理非矩形形状,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6409060/

10-12 01:09