Les classes Bitmap et BitmapData

Les principales classes d'ActionScript 3.0 permettant de gérer des images bitmap sont la classe Bitmap, utilisée pour afficher des images bitmap, et la classe BitmapData, qui permet de lire et modifier les données brutes d'une image bitmap.

Sous-rubriques

Présentation de la classe Bitmap
Accrochage et lissage des pixels
Présentation de la classe BitmapData

Présentation de la classe Bitmap

Sous-classe de la classe DisplayObject, la classe Bitmap est la principale classe utilisée en ActionScript 3.0 pour l'affichage d'images bitmap. Ces images peuvent avoir été chargées dans Flash via la classe flash.display.Loader, ou créées dynamiquement à l'aide du constructeur Bitmap(). En cas de chargement d'une image provenant d'une source externe, un objet Bitmap ne peut contenir que des images aux formats GIF, JPEG ou PNG. L'instance de l'objet Bitmap peut être considérée comme enveloppe d'un objet BitmapData devant être affiché sur la scène. Une instance de Bitmap étant un objet d'affichage, toutes les caractéristiques et fonctionnalités des objets d'affichage peuent être utilisées pour la manipuler. Pour plus d'informations sur l'utilisation des objets d'affichage, reportez-vous au Programmation de l'affichage.

Accrochage et lissage des pixels

Outre les fonctionnalités communes à tous les objets d'affichage, la classe Bitmap dispose de quelques fonctionnalités supplémentaires, propres aux images bitmap.

La propriété pixelSnapping de la classe Bitmap, dont l'effet est similaire à la fonction d'accrochage des pixels de l'environnement Flash, détermine si un objet Bitmap doit être « aimanté » par le pixel le plus proche. Cette propriété n'accepte que l'une des trois constantes définies dans la classe PixelSnapping : ALWAYS, AUTO ou NEVER.

La syntaxe de l'accrochage aux pixels est la suivante :

myBitmap.pixelSnapping = PixelSnapping.ALWAYS;

Lorsque des images bitmap sont redimensionnées, il est fréquent qu'elles deviennent floues et distordues. Pour réduire cette distorsion, utilisez la propriété smoothing de la classe BitmapData. Lorsque cette propriété booléenne a la valeur true, elle adoucit les pixels par un effet d'anti-crénelage appliqué aux images redimensionnées. Celles-ci ont alors un aspect plus clair, plus naturel.

Présentation de la classe BitmapData

La classe BitmapData class, qui se trouve dans le paquet flash.display, peut être comparée à un cliché photographique des pixels d'une image bitmap, que celle-ci soit chargée ou créée dynamiquement. Ce cliché est représenté par une grille de données des pixels de l'objet. La classe BitmapData contient également une série de méthodes permettant de créer et modifier des données de pixels.

Pour instancier un objet BitmapData, utilisez le code suivant :

var myBitmap:BitmapData = new BitmapData(width:Number, height:Number, transparent:Boolean, fillColor:uinit);

Les paramètres width et height permettent d'indiquer la largeur et la hauteur du bitmap. Ils acceptent une valeur maximum de 2880 pixels. Le paramètre transparent indique si l'image bitmap comporte un canal alpha (true) ou non (false). Le paramètre fillColor est une valeur colorimétrique sur 32 bits qui spécifie la couleur d'arrière-plan, ainsi que la valeur de la transparence (si cette dernière est true). L'exemple suivant crée un objet BitmapData dont l'arrière-plan orange est transparent à 50 % :

var myBitmap:BitmapData = new BitmapData(150, 150, true, 0x80FF3300);

Pour afficher un objet BitmapData nouvellement créé, affectez-le à une instance de Bitmap. Pour ce faire, vous pouvez soit passer l'objet BitmapData en paramètre du constructeur de l'objet Bitmap, ou l'affecter à la propriété bitmapData d'une instance de Bitmap existante. Vous devez également affecter cette instance de Bitmap à la liste d'affichage en appelant la méthode addChild() ou addChildAt() du conteneur d'objet d'affichage qui contiendra cette instance de Bitmap. Pour plus d'informations sur l'utilisation de la liste d'affichage, consultez la section Ajout d'objets d'affichage à la liste d'affichage.

L'exemple suivant crée un objet BitmapData avec un remplissage rouge, et l'affiche dans une instance de Bitmap :

var myBitmapDataObject:BitmapData = new BitmapData(150, 150, false, 0xFF0000);
var myImage:Bitmap = new Bitmap(myBitmapDataObject);
addChild(myImage);

Flash CS3

 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/main/00000243.html