1

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

丸みを帯びた角の厚さ http://img181.imageshack.us/img181/6372/screenshot20100320at123.png

なぜこれが起こるのかわからない、何かアイデアはありますか?

4

3 に答える 3

4

線の外側半分が切り取られているという Peter Hosey の分析に同意しますが、代わりにすべての座標を 0.5 ピクセル内側に移動することをお勧めします。このようにして、直線もより鮮明になります (2 つの画面ピクセルにまたがるアンチエイリアス処理は行われません)。

于 2010-03-20T22:37:04.333 に答える
2

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

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

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

  1. CGPath を現在のパスに追加します。
  2. 現在のパスをクリッピング パスに追加します(これにより、現在のパスが空になります)。
  3. CGPath を現在のパスに追加します。
  4. 現在のパスをストロークします。
于 2010-03-20T21:55:54.100 に答える
0

太く見えるだけです。ズームインすると、黒の余分なピクセルのように見えるものが、実際にはアンチエイリアシングによって発生した灰色のピクセルであることがわかります。

アンチエイリアシングをオフにして、結果が良くなるかどうかを確認してください。

編集: また、右下隅にはドロップ シャドウ効果があるようです。

于 2010-03-20T18:47:39.587 に答える