Охватывающий фрейм ссылки в выражении PaintCode

Я пытаюсь использовать код краски, чтобы нарисовать прямоугольник с разными радиусами углов. У меня почти все работает, рисуя два круга и два прямоугольника. Проблема в том, что я не могу сделать так, чтобы один из прямоугольников, нарисованных с радиусом окружности x смещения, имел ширину «frame.width - circle_radius» - конечный эффект заключается в том, что он остается выровненным по правому краю кадра.

фигуры

Кажется, я должен написать frame.width - largeCornerRadius в редакторе выражений, но PaintCode возражает против ссылки на кадр.

Тем не менее, я начинаю чувствовать, что мог бы написать этот код быстрее вручную :-)


person Rog    schedule 17.06.2014    source источник
comment
Я абсолютно согласен. Я чувствую, что это серьезная проблема с кодом рисования, поскольку я тоже могу быстрее написать этот код вручную...   -  person JoeBayLD    schedule 21.07.2017


Ответы (3)


У меня нет ответа на мой конкретный заданный вопрос, но я обнаружил лучший способ нарисовать свой круглый прямоугольник в виде четырех разных прямоугольников и отключить круглые прямоугольники на «внутренних углах»:

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

Как и следовало ожидать, код рисования намного лучше, и он хорошо изменяет размер с окружающей рамкой.

person Rog    schedule 17.06.2014

Вы также можете:

  • используйте набор прямоугольных, овальных или других форм
  • выберите их и «объедините», чтобы получить одну кривую Безье для всей формы
  • выделение каждой точки (или набора точек) полученного безье и фиксация пружин на каждой из них как неподвижной или текучей с края окружающего кадра.
person chepiok    schedule 21.09.2014
comment
Объединение фигур плохо изменяет размер - или не делало этого, когда я пытался. Возможно, я не умел прикреплять рамы и пружины к точкам Безье. - person Rog; 22.09.2014
comment
Вы пытались выбрать одну или несколько точек на пути Безье и правильно установить пружины? - person chepiok; 23.09.2014

Я вижу, что этот вопрос устарел, но позвольте мне показать, как этого добиться с помощью Springs & Struts.

Скругленный прямоугольник изменяемого размера с различными радиусами углов

Давайте используем 2 круга и 2 прямоугольника со скругленными углами, каждый из которых имеет только один закругленный угол, как у вас. Как только вы нарисуете рамку вокруг этих фигур, их инспектор Springs & Struct станет активным.

Инспектор изменения размера

Здесь вы можете щелкнуть каждый из 6 сегментов, чтобы переключить фиксированный или гибкий размер для каждой формы. Для красного круга сделайте гибкими только верхнее и правое поля (как на изображении выше), а для синего круга — противоположные поля (нижнее и левое). Затем для обоих прямоугольников сделайте гибкий размер и фиксированные поля.

Инспектор для прямоугольника

Для получения дополнительной информации ознакомьтесь с нашими видео, блог и документация по этой теме.

– Поддержка PaintCode

person Tricertops    schedule 21.07.2017