我在CIImage对象中绘制了各种非矩形形状的阴影。我通过继承CIFilter并结合我自己的滤波器内核和高斯模糊滤波器来做到这一点。我想知道是否可以通过使用NSShadow来实现性能提升。
另外我不确定NSShadow是否可用于绘制非矩形形状的阴影?例如,在another question的答案中,我发现为了使用NSShadow,首先需要创建一个形状的NSBezierPath。
在这种情况下尝试使用NSShadow的任何提示,建议还是我完全不在这里?
答案 0 :(得分:1)
我不知道它是否会更快,但肯定会更容易。请记住,您拥有的代码越少,您拥有的错误就越少。
NSShadow适用于任何形状,矩形或其他形状。事实上,我们通常不会将某些事物视为阴影的事实上可以实现为阴影。例如,发光只是一个白色的“阴影”。我猜测聚焦环在内部是阴影。
您无需创建NSBezierPath。用阴影绘制图像可以正常工作。唯一没有的是绘制渐变(如在NSGradient中)。
为了其他读者的利益:所有这些同样适用于Quartz,CGContext的阴影属性以及CGGradient和CGShading的排除。