2

CGPathCreateMutable() と CGPathAddArcToPoint を使用してカスタム シェイプを描画しています。予想どおり、パスを閉じて塗りつぶすと、描いたばかりの形状が得られます。ただし、私がやろうとしているのは、今描いたパスの逆を塗りつぶすことです。つまり、円形のパスを描いた場合、今描いたこの円以外のすべてを塗りつぶしたいということです。

逆塗りを行う方法はありますか?または、可能であれば2つのパスの間を埋めることができれば、別の解決策になりますか? そうすれば、バウンディング フレームの rect パスを作成し、それとカスタム パスの間を埋めることができます。

4

1 に答える 1

1

パスに描画し、Even Odd (EO) 塗りつぶしを使用して塗りつぶすと、必要なものが得られます (内部を塗りつぶします)。

OSX (および iPhone) のデフォルトの塗りつぶしは、非ゼロ巻き (NZW) 塗りつぶし
です。さまざまなパーツの巻き方をそれに応じて変更することにより (「時計回り」パラメーター)、おそらく非ゼロ巻きを使用しても同じ効果を得ることができますが、偶数奇数を使用します。はるかに簡単になります。

于 2012-06-14T07:41:27.373 に答える