質問

iPhone で角が丸いパスをストロークすると、ストロークしたパスの残りの部分よりも丸い角が太くなります。私が言いたいことについては、ここを参照してください。

丸い角の太さ http://img181.imageshack.us/img181/6372/screenshot20100320at123.png

なぜこのようなことが起こるのかわかりませんが、何かアイデアはありますか?

役に立ちましたか?

解決

私はあなたのラインの外側半分が切り取らなっているが、私の推薦は、内側に代わり、すべての座標0.5のピクセルを移動するだろうとピーターHoseyの分析に同意します。この方法は、あなたの直線はよくとして鮮明(2つの画面ピクセル間でアンチエイリアス処理しない)になります。

他のヒント

長方形のクリッピング パス内に描画しているのではないかと思います。角は完全に長方形の中に収まりますが、辺は半分にカットされます。半分はクリッピング パスの内側なので描画され、半分は外側なので切り取られます。

クリッピング パスをストロークする前に、クリッピング パスにパスを追加してみてください。

これを行うには、コンテキストの現在のパスに CGPath を 2 回追加する必要があります。

  1. CGPath を現在のパスに追加します。
  2. 現在のパスをクリッピング パスに追加 (これにより、現在のパスが空になります)。
  3. CGPath を現在のパスに追加します。
  4. 現在のパスをストロークします。

それだけ厚く見えます。あなたがそれをズームインするとき、あなたは黒のカップルの余分なピクセルどのように見えるかを確認します実際にアンチエイリアシングによって引き起こされるグレーのいくつかのピクセルです。

もし結果ルックスの見え方がアンチエイリアシングをオフにしてくださいます。

編集:また、右下の隅には、ドロップシャドウ効果を持っているようだ。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top