同心の丸みを帯びた四角形の角の半径(半径)を計算する方法


9

他のRoundrect内に含めたいRoundrectボタンがあります。含まれているroundrectは常にボタンから1px離れている必要があります。

コンテナの半径を小さくしすぎると、コーナーの周囲のギャップが大きくなります。

大きな四角形の半径を理解するために使用できる優れた「経験則」はありますか?

回答:


12

外側のrectrectを内側のrectrectから1px離したい場合、外側の長方形のコーナー半径も内側のそれより1px大きくなければなりません。

これがどのように機能するかを理解するのに役立つ簡単な図です:
コーナー半径図
内側の四角形の角の半径はrピクセルです。そのコーナーの半径有する内側赤い円の円弧以下のRに対応した画素とその中心をrの長方形の側面から離れた画素を。

外側の長方形の角の半径はr +1ピクセルです。その角は外側の赤い円の弧に沿っており、半径はr +1ピクセルで、その中心は長方形の辺からr +1ピクセル離れています。外側の四角形も内側に1ピクセル右にシフトしているため(そして、2ピクセル幅が広く、補正するために背が高いと考えられます)、2つの円は同心であり、それらの間の距離は常に1ピクセルです。


答えが簡単なのはうれしいです!
マイクブランド、

私は、50ピクセルの外側の境界線を持つ丸い四角形と、半径が50ピクセル高い新しい(50ピクセル幅が広く、高さが高い)丸い四角形を比較して、これを再作成してみました。それらは完全に一致していませんでしたが、今は主にPhotoshopのアウトラインレンダリングの奇妙な問題だと思います。
マイクブランド、

@マイク:長方形の両側に距離を追加する必要があることに注意してください。したがって、外側の長方形の境界線を内側から50ピクセルにする場合は、外側の長方形を内側の長方形よりも100ピクセル広く、背が高くする必要があります(コーナーの半径を50ピクセル大きくします)。
Ilmari Karonen、2012年

6

コーナーの中心を共有したい場合、外側のシェイプのコーナー半径は、単に内側のシェイプのコーナー半径に形状間の距離を加えたものでなければなりません。内側のシェイプの角の丸みが5ピクセルで、外側のシェイプが1ピクセル離れている場合、外側のシェイプの角の半径は6ピクセルにする必要があります。(ストロークの重みは考慮されていません。)

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.