Масштабируйте изображение во flash в соответствии с размером, определенным в html

StackOverflow https://stackoverflow.com/questions/388123

  •  23-08-2019
  •  | 
  •  

Вопрос

У меня есть флэш-фильм, который динамически загружает изображения из xml-файла.Я хочу повторно использовать этот swf-файл на разных страницах, однако все изображения на странице 1 имеют размер 400 x 200, а изображения на странице 2 - 745 x 422.Когда я пытаюсь повторно использовать это на другой странице, загруженные изображения уменьшаются (изменяют размер) - я бы хотел, чтобы они соответствовали тому, что определено в ширине / высоте, но они масштабируются в зависимости от того, как масштабируется сцена.

я использую загрузчик (AS3) для изображения, которое помещает их в контейнер (спрайт)

slideLoader.load(new URLRequest(xmlSlideshow..image[intCurrentSlide].@src));

Я пробовал создавать сцену разных размеров для начала, но мне бы очень хотелось, чтобы она была по возможности невзаимной, т.е.:50 х 50.Затем в html ширина / высота будут установлены на ширину / высоту загружаемых изображений.

Я не мастер флэш-памяти, поэтому, пожалуйста, простите меня, если мне не ясно, я постараюсь дать больше информации, если это необходимо.

Это было полезно?

Решение

Пара вещей...во-первых, вам нужно указать, что ваше приложение не должно масштабироваться.(Код AS3)

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

Затем, как только ваше изображение будет загружено (добавьте прослушиватель к объекту slideLoader), выполните функцию javascript, используя класс ExternalInterface от flash.

ExternalInterface.call('resizeFlashMovie', slideLoader.width, slideLoader.height);

И ваша функция javascript была бы чем-то вроде этого:

function resizeFlashMovie(width, height) {
    var flash = document.getElementById('yourFlashMovieId');
    flash.style.width = width+'px';
    flash.style.height = height+'px';
}

Другие советы

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

В идеале, вы можете передать высоту / ширину с помощью атрибутов тега embed, изменить размер холста без изменения размера и использовать переданные размеры для настройки размеров вашего изображения.

Я верю, что это оно:

fscommand("allowscale","false");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top