【问题标题】:Using NSShadow for non-rectangular shapes将 NSShadow 用于非矩形形状
【发布时间】:2011-06-20 09:15:43
【问题描述】:

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

我也不确定 NSShadow 是否可以用来绘制非矩形形状的阴影?例如,在another question 的答案中,我发现为了使用 NSShadow,首先需要创建一个形状的 NSBezierPath。

在这种情况下尝试使用 NSShadow 是否有任何提示、建议或我完全不在此列?

【问题讨论】:

    标签: objective-c cocoa drawing shadow


    【解决方案1】:

    我不知道它是否会更快,但肯定会更容易。请记住,您拥有的代码越少,您的错误就越少。

    NSShadow 适用于任何形状,矩形或其他形状。事实上,一些我们通常不会认为是影子的东西实际上可以实现为影子。例如,辉光只是一个白色的“阴影”。我猜对焦环在内部是阴影。

    您不需要创建 NSBezierPath。绘制带有阴影的图像就可以了。唯一不需要的是绘制渐变(如在 NSGradient 中)。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      • 1970-01-01
      相关资源
      最近更新 更多