![]() |
подгонка изображения под размеры окна с сохранением пропорций.
Вложений: 1
Добрый день.
Помогите решить проблему. Файл флэша загружает фотографию по названию из той папки, в которой он сам располагается. Но он очень странно ее отображает - не растягивает по размерам окна с сохранением пропорций, а выводит части рисунка - за границы окна. Подскажите - как заставить флэш - подгонять отображение фотографии - под размеры окна, с сохранением пропорций ? (может быть нужно какую-то опцию включить?) |
Нужно написать код, который будет масштабировать картинку под размеры окна.
|
ZackMercury, сейчас код выглядит так:
Код AS3:
|
Делать ПОСЛЕ загрузки
Код AS3:
|
Я почему-то уверен, что ТС добавит этот код после loader.load :)
|
undefined, что-то не работает.
Код выглядит так: Код AS3:
Код AS3:
Код AS3:
|
Цитата:
Добавлено через 16 минут Visors, ты замечал что в интернете все грузится не моментально? |
Вложений: 1
undefined, насчет того, что в интернете все грузится не моментально - не совсем понял что вы имеете ввиду.
Да в интернете грузится не моментально - но все же грузится. Здесь ничего не грузится, картинка не загружается и через минуту. При нажатии Ctrl+Enter во всех трех вариантах выдается ошибка "1086: Синтаксическая ошибка: ожидается точка с запятой перед div." |
Visors,я специально написал что выставлять размеры картинке надо ПОСЛЕ ОКОНЧАНИЯ ЕЕ ЗАГРУЗКИ.
Код AS3:
Код AS3:
|
Вложений: 1
undefined, вел только этот этот код (больше ничего) в пустой файл fla и добавил код масштабирования рисунка (после загрузки).
Код AS3:
|
думаю так понятнее
Код AS3:
|
1. Вам-же сказали - дождитесь окончания загрузки и в обработчике onComplete отскейлите размер изображения. До его загрузки размеры loader'a ещё не известны.
2. Изображение на самом деле загружается, но вы уже его отскейлили по scale равному Infinity, т.к. loader.width и loader.height на тот момент равны нулю. В следствии этого вы ничего не наблюдаете. |
Случай запущенный, человек вообще не хочет разбираться с тем, что ему советуют, он хочет копипастнуть и чтобы всё сработало. Народ думает, что он хоть что-то понимает, но по видимому, он не понимает и не хочет понимать.
Предлагаю перенести топик в Вакансии. Добавлено через 9 минут P.S. У меня подозрение, что он так и оставил windowWidth, windowHeight. И да, undefined, там лишняя скобка. |
Цитата:
Содержимое файла jpg - будет постоянно меняться как и его размеры. Я имел ввиду - как заставить флэш как-то подгонять размеры фотографии под окно - какими бы размеры фотографии не были ? Еще вопрос: Вы написали - дождитесь окончания загрузки. Как мне узнать, что загрузка закончена? Должен быть какой-то звуковой сигнал или какой-то другой тип оповещения? Цитата:
Добавлено через 1 минуту ZackMercury, знаете что - я действительно довольно плохо разбираюсь в программе флэш, поэтому и пишу на этот форум. |
Цитата:
1)Размер изображения 2)Размер окна Цитата:
Цитата:
Код AS3:
|
Цитата:
Ведь я могу растянуть его во весь экран, или наоборот сжать до минимума - размеры окна постоянно меняются. |
Цитата:
|
Visors, если вы пишете на форум, значит вы хотите чему-то научиться, чего я не вижу. Судя по всему, вы ничего не гуглите, а вместо этого задаёте глупые вопросы людям, без какого-либо уважения. Если не учитесь - то вам на биржу фриланса или в раздел Вакансии.
По AS3 есть замечательная документация от Adobe, разработчиков языка. А если вы не программист и не собираетесь этим заниматься, то ищите программиста в Вакансиях. |
ZackMercury, я неплохо разбираюсь в VisulBasic.
И вот там, чтобы смасштабировать фотографию на форме - достаточно просто щелкнуть в свойствах инструмента на этой форме и выбрать опцию - масштабирование. Вот и все - это простейшая операция. То же в языке Autoit - дело пары минут - смасштабировать изображение по размерам окна. Я если честно и представить себе не мог, что во флэше (который вроде бы предназначен работать с графикой) - простое масштабирование фотографии в окне - это такая фантастическая по сложности задача, ради которой надо специально нанимать программиста и платить ему деньги. |
Visors,ты спросил как узнать размер окна.Это тебе виднее что у тебя за окно.В общем случае узнать размер визуального объекта можно с помощью свойств width и height.
|
Visors, проблема не во флеше, а в том, что вам всё, что вам нужно знать для того, чтобы выполнить задачу сказали ещё в самом начале темы. Остальное можно легко найти через поисковик. Вот и вся проблема. Вам даже код за вас написали, а вы даже не можете им воспользоваться.
Книжки читать, я так понимаю, вам советовать бесполезно? |
undefined, вы же сами сказали - что для того, чтобы заставить флэш подгонять размеры любой фотографии под окно - какими бы они не были....
Нужно: 1-Знать размеры этой фотографии. 2-Знать размер окна. Окно у меня - самое обыкновенное. Это окно открытого файла swf, в котором выполняется код загрузки изображения. Это окно - выглядит как окно Windows - его можно растянуть - по высоте и по ширине - как любое другое окно в котором воспроизводится файл swf. Вообще мне несколько странно вам объяснять - что такое окно Windows. Я думаю вы все-таки знаете что это такое. Меня интересует вопрос - как автоматически подогнать размер изображения под размер окна. Я открываю swf файл, тут же загружается jpg - но не как в моем примере, а заполняя окно - по ширине или по высоте с сохранением пропорций, или даже без пропорций - растягиваясь под размер окна. А окно может быть быть любое - его можно растягивать - вверх-вниз и изображение на этом окне так же будет менять свой размер. Добавлено через 19 минут ZackMercury, я имел ввиду не вписывание вручную - размеров фотографии в код - всякий раз при ее смене. А автоматическое выравнивании фотографии - по размеру окна, размер которого может постоянно меняться. |
Правильно говорить "на всю рабочую область флэшки".Под окном обычно подразумевается нечто,нарисованное внутри этой области.Размеры рабочей области можно получить из свойств stage.stageWidth/stage.stageHeight.Как сделать чтоб оно автоматически подстраивалось при растяжении/сжатии флэшки читаем тут
|
undefined, ясно.
Буду читать. Спасибо за ответы. |
Код AS3:
|
undefined, вот прямо - именно то, что нужно.
Огромное спасибо. |
| Часовой пояс GMT +4, время: 15:14. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.