Як обчислити радіуси (радіуси) кутів для концентричних закруглених прямих


9

У мене є кнопка прямої округлості, яку я хочу містити в іншій. Місця, що містять круглу пряму, завжди повинні бути на відстані 1 пікселя від кнопки.

Якщо я роблю радіус на контейнері занадто малим, то кути мають більший зазор навколо них.

Чи є добре "велике правило", яке я можу використовувати, щоб зрозуміти, яким повинен бути радіус для більшої круглої прямої?

Відповіді:


12

Якщо ви хочете, щоб зовнішня кругла пряма була на відстані 1 пікселя від внутрішньої, то кутовий радіус зовнішнього прямокутника також повинен бути на 1 пкс більшим, ніж внутрішній.

Ось коротка діаграма, яка може допомогти вам побачити, як це працює:
Діаграма кута радіуса
внутрішній прямокутник має кутовий радіус r пікселів; його кут слідує за дугою внутрішнього червоного кола, який має радіус r пікселів, а його центр, відповідно r пікселів, від боків прямокутника.

Зовнішній прямокутник має кутовий радіус r +1 пікселів; його кут слідує за дугою зовнішнього червоного кола, що має радіус r +1 пікселів, а його центр, відповідно, r +1 пікселів від сторін прямокутника. Оскільки зовнішній прямокутник також зміщений на один піксель вгору та праворуч від внутрішнього (і, можна вважати, на два пікселі ширше і вище для компенсації), два кола концентричні, а відстань між ними завжди одна піксель.


Я радий, що відповідь така проста!
Майк Бренд

Я спробував відтворити це, порівнюючи пряму прямокутну сторону із зовнішньою межею 50 пікс., А нову (50 пікс. Ширше та вище) круглу пряму з радіусом на 50 пікс. Вони не зовсім збігалися, але тепер я думаю, що це, головним чином, вигадка з контуру Photoshop, що дякує за вашу відповідь!
Майк Бренд

@Mike: Пам’ятайте, що відстань потрібно додати до обох сторін прямокутника. Отже, якщо ви хочете, щоб зовнішня межа прямокутника була на 50 пікс від внутрішньої, вам потрібно зробити зовнішній прямокутник на 100 пікс ширше і вище, ніж внутрішній (і збільшити радіус кута на 50 пкс).
Ілмарі Каронен

6

Якщо ви хочете, щоб у кутів були спільні центри, кутовий радіус зовнішньої форми повинен бути просто кутовим радіусом внутрішньої форми плюс відстань між фігурами. Якщо ваша внутрішня форма має закруглений кут-радіус 5 пікселів, а зовнішня форма - 1 піксель, кут зовнішнього радіуса має бути 6 пікселів. (Не враховуючи жодних вагових ударів.)

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.