Jan
22
Voici une petite astuce qui permet d'optimiser une application Flash. Plutôt que d'importer les images en MovieClip, ce qui se veut être couteux en terme de performance, il vaut mieux passer par la classe Bitmap et la classe BitmapData pour récupérer les pixels souhaités pour ensuite les afficher. Et par la même occasion, faire une seule requête sur le serveur est moins couteux (par exemple si vous avez une application nécessitant beaucoup de pictogrammes).
Voici comment faire.
[Embed(source = 'monImage.png')] private var MonImg:Class; var pic : Bitmap = new MonImg();
var bmp1 : BitmapData = pic.bitmapData; // récuperation des données var bmp2 : BitmapData = new BitmapData(18, 16, true); // création de données, avec la taille de l'image finale var rect : Rectangle = new Rectangle(0, 0, 18, 16); // création de la zone de découpage var pt : Point = new Point(0, 0); // création du point de fixation de la zone découpée sur la nouvelle image bmp2.copyPixels(bmp1, rect, pt); // on copie les pixels dans la nouvelle zone var bmp : Bitmap = new Bitmap(bmp2); // création de notre nouvelle image
Et voilà, nous pouvons maintenant utiliser notre image comme nous le souhaitons, en l'ajoutant à la liste d'affichage par exemple.
Write a comment