1

I have two shapes in a UIView - one, an ellipse and two, a triangle drawn using UIBezierPath. I need to draw the outline of these two shapes combined. How can I do it?

4

1 に答える 1

0

「外側」のストローク (Photoshop/pixelmator のストローク -> 外側など) を実行するには、呼び出しstrokeてアウトラインを描画し、形状の反転を最初にクリッピング パスとして設定します。クリッピング パスの逆を行うには、この回答を参照してください: https://stackoverflow.com/a/10639523/461492 (コメントも読んでください)。

手順は次のとおりです。

  1. 領域全体をクリッピング パスとして設定します。
  2. CGContextEOClip()上記のリンクの回答へのコメントに記載されているように、各形状を呼び出します。
  3. シェイプをストロークします。

これはまさにあなたが望むものではないかもしれません - ストロークは通常どおり描画されますが、シェイプの内部全体 (塗りつぶし領域) は描画されません。そのため、ストロークの太さは通常、形状の内部に広がり、ストロークの内角は通常正しい角 (丸み/留め継ぎ) になります。この場合、形状をストロークしてから削除したようになります。塗りつぶし領域、または画像編集プログラムで「外側」のストロークを行いました。

于 2013-06-05T14:02:16.387 に答える