【问题标题】:NSBezierPath: how to invert the clip path?NSBezierPath:如何反转剪辑路径?
【发布时间】:2016-12-19 18:04:00
【问题描述】:

我通过创建圆形NSBezierPath 并将其添加到图形上下文的剪切区域中,在自定义视图的中心绘制圆形图像。这工作得很好,但我想知道是否可以提高绘制视图背景(圆形居中图像之外的区域)但反转此剪辑并执行背景绘制(NSGradient 填充)的性能。

谁能建议一种反转剪辑路径的方法?

【问题讨论】:

    标签: cocoa nsview clip nsbezierpath


    【解决方案1】:

    这样做不会提高背景的绘制性能。如果有的话,使用更复杂的剪切路径会减慢绘图速度。

    如果你想在背景上绘制对象而不需要重绘背景的大量开销,你可以使用核心动画层,正如我在 my answer to this question. 中解释的那样

    【讨论】:

    • 谢谢 - 很高兴知道。我将背景绘图限制在dirtyRect 不完全在我的图像中的时候,我也会查看CALayer
    【解决方案2】:

    无论性能如何,当您尝试反转剪辑时,首先会出现这个问题。

    因此,如果您正在寻找的是: Using NSBezierPath addClip - How to invert clip

    【讨论】:

      猜你喜欢
      • 2017-05-04
      • 2012-07-09
      • 1970-01-01
      • 2021-11-28
      • 2013-06-27
      • 1970-01-01
      • 1970-01-01
      • 2021-02-25
      • 2016-09-18
      相关资源
      最近更新 更多