![]() |
Как сделать так чтобы граница квадрата не менялась
Создаю квадрат методами инструментами флеш у него граница шириной 6 пикселей, этот квадрат использую как диалоговое окно для показа фотографий следовательно размер квадрата меняется в зависимости от размера фотки. Чем больше фотка тем больше граница то есть она становится шириной в 10 пикселей и это конкретно видно что размер границы меняется при просмотре разных фоток. Как сделать так чтобы граница всегда была одной ширины при растяжении квадрата?
Код AS3:
dialogFon - это и есть тот квадрат |
Вложений: 1
Нужно воспользоваться старым приемом создания границ - берете набор заготовок для границ, в простейшем случае должно получится 3 элемента (если не лень переворачивать): горизонтальный элемент, вертикальный элемент и элемент для границ. Более сложные случаи включают в себя большее количество элементов. Например такой набор:
Вложение 30026 И делать границу из этих кусков. Очень распространенный способ и полностью подходит для вашего случая |
"Граница" это рамка?
Вы меняете размер квадрата, пропорционально изменению размера квадрата меняется и рамка. Чтобы рамка размер не меняла можно ее отрисовывать вручную. Как вариант убрать рамку с квадрата и отрисовать ее отдельно. При изменении размеров квадрата менять рамку как нужно. Код AS3:
|
Цитата:
а способ из кусков чёт ваще не понравился х) Добавлено через 12 минут а как вручную отрисовать рамку чёт не допёр, рисую рамку отдельно получается точно такая же история((( |
посмотрите вот эту темы http://www.flasher.ru/forum/showthre...page=2#Scene_1
|
а можно как-нибудь с помощью кода нарисовать рамку вокруг квадрата?
|
Цитата:
|
пример кода есть?
|
http://help.adobe.com/en_US/FlashPla...html#drawRect()
А вообще поиск еще работает. |
Код AS3:
|
Что такое "(100, 100, 200, 70)"?
|
x,y,width,height.. А что не так?)
Добавлено через 3 минуты Если конечно ТС рисует при помощи встроенных инструментов, то ему это не поможет.. Но он спросил про программный метод... |
Вложений: 1
Просили "рамку вокруг [квадрата]". Никогда бордер (lineStyle) не был "вокруг". Да и круглых углов не просили.
То есть мне интересно, что такое 200 и 70 — это размеры чего? Потому что в результате Вашего кода 200 и 70 это вот что: Вложение 30027 То есть это не размеры рамки и не размеры прямоугольника, который надо окружить рамкой. |
Ну я ещё глупый, мне простительно!)
И я даже не возьмусь drawPath-ом рисовать, потому что я не знаю как ТС потом его применит. Тогда проще всего нарисовать ещё один квадрат - подложку. |
Вы думаете, при drawPath() линия будет рисоваться как-то по-другому?
Толщина линии (обводки, бордера) всегда рисуется в обе стороны от центра линии. Таким образом фигура с обводкой всегда ломает мозг несчастного программиста — в коде одно, на экране нечто абсолютно другое. Другие координаты, другие размеры. Все почему-то друг на друга наезжает и вообще первобытный хаос. Можно конечно научиться все эти нюансы учитывать и пересчитывать, и комментировать код (да, ведь его потом когда-нибудь и читать придется, пойди разберись что за странные хардкодные чиселки добавлены-отняты). Но лучше забить на линии и рисовать заливкой. Линию надо использовать только там, где нужна линия. |
не ну я уже себе мозг сломал, не могу нарисовать масшатбируемое красивое диалогове окно и пипец, прям хоть применяй способ который во втором посте подсказали(((
|
я не знаю как Вы делаете, но разве это сложно? У Вас есть квадрат, в который грузится фото?
И Вы этому квадрату задаёте размеры в зависимости от размера фото. Почему Вы не создадите второй квадрат, который будет чуть больше первого и обьеденён с ним. При масштабе первого и второй будет изменяться в таких же пропорциях. |
я так и сделал, но у меня округленные углы при растягивании углы приобретают пипец кривую форму((
|
Ну тогда Вам либо самим что то придумать или сделать как я показал, но не выкидывая рисунок выше из памяти.
|
Надо перерисовывать при "растягивании". Не растягивать уже нарисованное, а рисовать заново, новых размеров. Либо разобраться со scale9grid.
Никто Вам не напишет кусок кода, который Вы скопируете и вставите в свой. Набор в новый сезон Битвы Экстрасенсов уже закончен. Нет кода — не будет исправлений кода. |
| Часовой пояс GMT +4, время: 02:13. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.