![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 60
|
1) Флеш ролик имеет размер рабочей области 1024х768
2) В HTML ему задан размер 100%х100% (тобиш он имеет размер рабочей области браузера) 3) С помощью JS ему передаются значения Width и Height рабочей области браузера 4) Ролик загружает картинки размер которых мне известен - по завершении загрузки, так как я получаю их из _width и _height того MovieClipа в который гружу картинку. И размер получаю верный. 5) Ширина картинки (МувиКлипа) всегда привязывается к максимальной ширине ролика - 1024. Вопрос: Как мне при разных размерах\пропорциях рабочей области браузера, мне установить высоту картинки в правильных пропорциях относительно ширины рабочей области браузера. Все вводные есть. Не могу за много часов найти решение. Для простоты понимания я делаю следующее: мой флеш грузит некую картинку которая всегда больше по высоте чем по ширине. Ее можно скролить мышкой вверх и вниз, а в стороны она всегда равна ширине флешки, в свое время флешка равна 100% высоты и ширины рабочей области браузера. Я имею в флешке переменные с этой рабочей областью. |
|
|||||
|
.
|
Что такое "правильных пропорциях относительно ширины рабочей области браузера"?
Чем определяется правильность? А в общем случае, чтобы сохранялись пропорции контента при масштабировании достаточно обе оси скалить одинаково mc._xscale = mc._yscale = N; |
|
|||||
|
что-то вы заморочились с js.. если флеш растягивается и занимается 100% области, то его размеры можно узнать через Stage.width, Stage.height
почитайте про "резиновый флеш", научитесь слушать изменения размеров сцены, а дальше будет элементарная арифметика ps: по аватарке не видно.. вы случайте не also know as Warlord? |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 60
|
Цитата:
Добавлено через 2 минуты Цитата:
P.S. Я есмъ |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 60
|
Не. похоже не совсем то со Stage. Это я получаю рабочую область внутри ролика. Его я и так знаю. Он 1024х768. Но если его растянуть в браузере то он может быть иным, а Stage всегда вернет 1024х768. например в FireFox у меня сейчас рабочая область явой выводится как 1264х823, отресайзь я картинку на основании Stage, я получу ее более сплюснутой по вертикали, так как пропорции по высоте иные, ибо в браузере сверху куча обвесок в виде панелей.
Добавлено через 2 минуты 1)fljot - Хм... Ты хто таки? %) 2) Задача в том, что бы картинка отображалась максимально большого размера, тоесть под ширину экрана максимально приближено, при этом сохраняла пропорции независимо от попорций окна браузера. На Stage.scaleMode = "noScale" натыкался при поиске... думал что не совсем это то что надо. Но щас попробую. P.S. Ну да. Мне то не нужно запрещать масштабирование. Мне нужно к нему превязаться... Нужно зная размеры рабочей области браузера, загрузить картинку, задать ей внутри флешки ширину 1024, а высоту как то вычислить так, что бы растянутая или сплюснутая флешка вывела картинку пропорционально. Пол дня с 2мя программерами еще бьюсь, задача левая, но принцип отказаться не дает. Все данные на руках. Есть внешние габариты обхекта флеша, есть внутринние (те что при разработке заданы), есть размеры картинки после ее загрузки. Есть размер картинки по ширине - который должен быть равен 100% ширине флешки (в моем случае 1024). Уже и не знаю как описать эту задачу %) Проблема в том, что никакой связи между внешними габаритами и внутренними размерами объектов во флеше нет ![]() Последний раз редактировалось Shinoby; 23.04.2009 в 16:45. |
|
|||||
|
.
|
Я вас понял. Нужно рассчитывать каждый скейл для того, чтобы картинка сохраняла оригинальный размер и пропорции. Итак, размер флеш-ролика Вам известен из js. Решаем пропорцию.
pic._xscale = flash_width * 100 / 1024; pic._yscale = flash_height * 100 / 768; как вариант при Stage.scaleMode != "noScale": pic._xscale = flash_width / Stage._width * 100; pic._yscale = flash_height / Stage._height * 100; Последний раз редактировалось dimarik; 23.04.2009 в 16:46. |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 60
|
Цитата:
Оригинальный размер сохранять не нужно. Картинка всегда должна быть на весь экран по ширине (ширина объекта в ХТМЛе 100%), ширина самой картинки внутри ролика тоже 100%. А вот высота ее должна быть пропорциональна ширине независимо от того какие пропорции в браузере. Для полной аналогии могу сказать, что мне нужно получить то, что делает например ACDSee когда просматриваешь изображения включив режим масштабирования Fit Width. По ширине картинка всегда по размеру окна ACDSee (какое бы оно не было), а по высоте картинку можно скролить если она не влезает (но пропорции картинки всегда идеальны) Добавлено через 16 минут Цитата:
А могу я задать флешку параметры так, что бы он не масштабировался вместе с окном браузера, но при этом занимал всю область в браузере? Как бы увеличивал свою область ролика, но не менял масштаб? Если ДА, то я решу эту задачу в 2 счета %) Последний раз редактировалось Shinoby; 23.04.2009 в 16:56. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|