Escala la imagen en flash para que coincida con el tamaño definido en html
Pregunta
Tengo una película flash que carga las imágenes de forma dinámica desde un archivo XML. Quiero volver a utilizar este archivo .swf en diferentes páginas, sin embargo las imágenes en page1 son 400 x 200 y las imágenes en la página 2 están todos 745 x 422. Cuando trato de volver a utilizar este en otra página, las imágenes cargadas son encogida (cambia el tamaño) -. Me gustaría que para que coincida con cuál se define en la anchura / altura, sino que se escala en función de cómo se escala la etapa
im usando un cargador (AS3) de la imagen que los coloca en un recipiente (sprites)
slideLoader.load(new URLRequest(xmlSlideshow..image[intCurrentSlide].@src));
He intentado hacer la etapa de diversos tamaños para empezar, pero me gusta mucho estar irrelavant si es posible - es decir: 50 x 50. A continuación, en el HTML de la anchura / altura se ajusta a la anchura / altura de las imágenes siendo cargado.
No soy un asistente de flash así que por favor me perdone si im no está claro, voy a tratar de dar una visión más clara si es necesario.
Solución
Un par de cosas ... en primer lugar, tendrá que especificar su aplicación no está a escala. (Código AS3)
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
A continuación, una vez que se carga la imagen (añadir un oyente al objeto slideLoader), ejecutar una función de JavaScript usando la clase ExternalInterface de flash.
ExternalInterface.call('resizeFlashMovie', slideLoader.width, slideLoader.height);
Y su función javascript sería algo como esto:
function resizeFlashMovie(width, height) {
var flash = document.getElementById('yourFlashMovieId');
flash.style.width = width+'px';
flash.style.height = height+'px';
}
Otros consejos
Me disculpo no tengo el código a mano, pero sé que usted tiene la opción de establecer un no-cambiar el tamaño del lienzo en el inicio.
Lo ideal es que se puede pasar en la altura / anchura a través de los atributos de la etiqueta embed, sin tener un cambio de tamaño en el lienzo y el uso de la aprobada en dimensiones para establecer sus dimenions imagen.
Creo que esto es:
fscommand("allowscale","false");