Copie de données bitmap

Flash Player 9 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures

Vous disposez de plusieurs méthodes pour copier les données bitmap d’une image à une autre : clone(), copyPixels(), copyChannel(), draw() et drawWithQuality()(la méthode drawWithQuality est disponible dans Flash Player 11.3 et les versions ultérieures et dans AIR 3.3 et les versions ultérieures).

Comme son nom l’indique, la méthode clone() permet de cloner, ou échantillonner, des données bitmap d’un objet BitmapData à un autre. Cette méthode renvoie un nouvel objet BitmapData qui est un clone exact de l’occurrence originale.

L’exemple suivant clone une copie d’un carré orange (parent) et place le clone à côté du carré parent original :

import flash.display.Bitmap; 
import flash.display.BitmapData; 
 
var myParentSquareBitmap:BitmapData = new BitmapData(100, 100, false, 0x00ff3300); 
var myClonedChild:BitmapData = myParentSquareBitmap.clone(); 
 
var myParentSquareContainer:Bitmap = new Bitmap(myParentSquareBitmap); 
this.addChild(myParentSquareContainer); 
 
var myClonedChildContainer:Bitmap = new Bitmap(myClonedChild); 
this.addChild(myClonedChildContainer); 
myClonedChildContainer.x = 110;

La méthode copyPixels() permet de copier rapidement et aisément des pixels d’un objet BitmapData dans un autre. Cette méthode prend un « cliché » rectangulaire (défini par le paramètre sourceRect) de l’image source et le copie dans une autre zone rectangulaire de taille égale. L’emplacement du rectangle ainsi « collé » est défini par le paramètre destPoint.

La méthode copyChannel() analyse une valeur de canal de couleur prédéfini (alpha, rouge, vert ou bleu) dans un objet source BitmapData et la copie dans un canal donné de l’objet BitmapData de destination. Cette méthode n’affecte pas les autres canaux de l’objet BitmapData de destination.

Les méthodes draw() et drawWithQuality() dessinent ou affichent le contenu graphique d’un objet d’affichage source (Sprite, Clip, etc.) dans un nouveau bitmap. Les paramètres matrix, colorTransform, blendMode et clipRect permettent de modifier l’aspect du nouveau bitmap. Cette méthode utilise le programme de rendu vectoriel de Flash Player et AIR pour générer les données.

Pour appeler la méthode draw() ou drawWithQuality(), vous devez lui transmettre l’objet source (Sprite, Clip ou tout autre objet d’affichage) comme premier paramètre, comme ci-dessous :

myBitmap.draw(movieClip);

Si des transformations (couleur, matrice, etc.) ont été appliquées à l’objet source après son chargement, ces transformations ne sont pas copiées dans le nouvel objet. Pour copier les transformations dans le nouveau bitmap, vous devez copier la valeur de la propriété transform de l’objet original dans la propriété transform de l’objet Bitmap qui utilise le nouvel objet BitmapData.