image échelle en flash pour correspondre à la taille définie en html
Question
J'ai un film flash qui charge dynamiquement des images à partir d'un fichier xml. Je veux réutiliser ce fichier .swf sur des pages différentes, mais les images sur page1 sont 400 x 200 et les images sur page2 sont tous 745 x 422. Quand j'essaye de réutiliser ceci sur une autre page, les images chargées sont rétrécis (redimensionné) -. Je voudrais leur faire correspondre ce qui est défini dans la largeur / hauteur, mais ils sont mis à l'échelle en fonction de la façon dont la scène est mise à l'échelle
im en utilisant un chargeur (AS3) pour l'image qui les place sur un conteneur (sprite)
slideLoader.load(new URLRequest(xmlSlideshow..image[intCurrentSlide].@src));
Je l'ai essayé de faire la scène de différentes tailles pour commencer, mais je voudrais vraiment qu'il soit irrelavant si possible - à savoir: 50 x 50. Puis, en html la largeur / hauteur sera réglée sur la largeur / hauteur des images en cours de chargement.
Je ne suis pas un sorcier flash si s'il vous plaît pardonnez-moi si je ne suis pas clair, je vais essayer de donner plus de perspicacité si nécessaire.
La solution
Couple de choses ... Tout d'abord, vous aurez besoin de spécifier votre application pas à l'échelle. (Code AS3)
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
Ensuite, une fois que votre image est chargée (ajouter un écouteur à l'objet slideLoader), exécuter une fonction javascript en utilisant la classe ExternalInterface de flash.
ExternalInterface.call('resizeFlashMovie', slideLoader.width, slideLoader.height);
Et votre fonction javascript serait quelque chose comme ceci:
function resizeFlashMovie(width, height) {
var flash = document.getElementById('yourFlashMovieId');
flash.style.width = width+'px';
flash.style.height = height+'px';
}
Autres conseils
Je suis désolé, je n'ai pas le code à la main, mais je sais que vous avez la possibilité de définir un non-redimensionnez sur la toile au démarrage.
Idéalement, vous pouvez passer à la hauteur / largeur par les attributs de la balise embed, un pas Redimensionner sur la toile et utiliser le passé dans les dimensions pour définir vos dimenions d'image.
Je crois que voici:
fscommand("allowscale","false");