image échelle en flash pour correspondre à la taille définie en html

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

  •  23-08-2019
  •  | 
  •  

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.

Était-ce utile?

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");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top