题
我有从XML文件动态加载的图像的Flash电影。我想重新使用不同的页面上此.swf文件,但是第一页上的图像都是400×200和第2页上的图像都745 X 422当我尝试重用此另一个页面上,加载的图像缩小(调整大小) - 。我想他们匹配什么在宽度/高度定义的,但是它们会缩放的视阶段是如何缩放
使用对于它们放置在容器(子画面)的图像加载器(AS3)IM
slideLoader.load(new URLRequest(xmlSlideshow..image[intCurrentSlide].@src));
我试图使阶段各种尺寸开始,但我很喜欢它是irrelavant如果可能的话 - 即:50×50。然后,以html宽度/高度将被设置为图像的宽度/高度被加载。
我不是一个闪光的向导所以请即时没有明确原谅我,如果需要的话,我会尽量给更多的洞察力。
解决方案
东西夫妇......首先你需要指定应用程序不按比例。 (AS3代码)
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
然后,一旦图像被加载(添加侦听到slideLoader对象),使用闪光灯的ExternalInterface类执行JavaScript函数。
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';
}
其他提示
我很抱歉,我没有手头上的代码,但我知道,你必须设置在启动时在画布上没有调整的选项。
理想情况下,可以在通过嵌入标记的属性的高度/宽度通,具有在画布上没有调整大小,并使用传递的尺寸来设置图像dimenions。
我相信这是它:
fscommand("allowscale","false");
不隶属于 StackOverflow