PDA

Просмотр полной версии : Изменение толщины бордюра фигуры при изменении ширины


Serzhik
12.12.2005, 09:41
Возможно, уже спрашивали, но не смог найти :cool:
При программном изменении ширины или высоты фигуры (прямоугольник со скругленными углами) изменяется толщина бордюра этого прямоугольника. А надо, чтобы изменялись только геометрические размеры прямоугольника, толщина бордюра должна быть неизменной. Как такое победить? ;) Заранее, сенк

MOHCTEP
12.12.2005, 13:59
Бордюр делать толщиной=0. Она не массштабируется.

nyctota
12.12.2005, 14:00
поставь толщину линии "hairline", тогда все будет ОК (если, конечно, тебя такой вариант устраивает)

Serzhik
12.12.2005, 16:23
В том то и дело, что требуется solid бордюр постоянной толщиной 2 px. Смысл в том, что этот прямоугольник - подложка под выпадающее меню. Само меню грузится из файла, поэтому длина строк-пунктов и их количество заранее не известно. В зависимости от их количества и длины самой длинной строки (сорри за тавталогию) я устанавливаю width и height подложки. Неужели нельзя сохранить бордюр немасштабируемым?

alrusdi
12.12.2005, 16:52
Сделай менюшку не из одного прямоугольника, а из трех (шапка - со скруглениями, центральная часть - две вертикальные полоски и закрашенная часть между ними, и подвал - перевернутая верхняя часть) теперь серединку можно масштабировать по вертикали с сохранением толщины линий, а подвал переместишь после масштабирования к нижней границе серединки

MIX-er
12.12.2005, 17:10
а почему бы его програмно не нарисовать?

iNils
12.12.2005, 18:22
Если планируется делать под 8-ку то можно воспользоваться Scale9Grid.
Почитать можно тут http://www.flash-ripper.com/index.htm за 25 ноября

Serzhik
12.12.2005, 20:40
а почему бы его програмно не нарисовать?
Хм, а как программно скруглить углы? В принципе, это, наверно, лучший вариант. Если можешь, кинь ссылку, где прочитать мона:)
Если планируется делать под 8-ку то можно воспользоваться Scale9Grid.
Почитать можно тут http://www.flash-ripper.com/index.htm за 25 ноября
Делаю под 7...

MOHCTEP
12.12.2005, 21:15
Хм, а как программно скруглить углы? В принципе, это, наверно, лучший вариант. Если можешь, кинь ссылку, где прочитать мона:)

Делаю под 7...
Напиши блок (функцию), в нее передавай высоту и ширину, а втеле пользуй lineTo(), curveTo(), beginFill(), endFill()

Serzhik
12.12.2005, 21:23
Забыл сказать, что этот прямоугольник у меня под маской (эффект постепенного "выползания" меню). Как его после отрисовки "засунуть" под эту маску?

MOHCTEP
12.12.2005, 21:53
Программно - легко.
menu_mc.setMask(maska_mc);