【问题标题】:Common outline for two shapes drawn in drawRect: ObjectiveCdrawRect中绘制的两个形状的共同轮廓:Objective C
【发布时间】:2013-06-06 00:40:19
【问题描述】:

我在UIView 中有两个形状——一个是ellipse,两个是使用UIBezierPath 绘制的triangle。我需要将这两个形状的轮廓结合起来。我该怎么做?

【问题讨论】:

    标签: ios objective-c drawrect


    【解决方案1】:

    您可以通过调用stroke 来绘制“外部”笔触(如 photoshop/pixelmator 中的笔触->外部)以绘制轮廓并首先将形状的反转设置为剪切路径。要反转剪切路径,请参阅以下答案:https://stackoverflow.com/a/10639523/461492(也请阅读 cmets)。

    以下是步骤:

    1. 将整个区域设置为剪切路径。
    2. 为您在上面链接的答案的 cmets 中描述的每个形状致电 CGContextEOClip()
    3. 描画你的形状。

    这可能不是您想要的 - 它会正常绘制笔触,但不会绘制形状的整个内部(填充区域)。因此,尽管笔触的粗细通常会在形状内部延伸,并且笔触的内角通常会有正确的角(圆形/斜接) - 在这种情况下,它更像是您抚摸了形状然后删除填充区域,或在图像编辑程序中进行“外部”描边。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-11
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-10
      相关资源
      最近更新 更多