Voor het kopiëren van bitmapgegevens van de ene afbeelding naar de andere kunt u verschillende methoden gebruiken:
clone()
,
copyPixels()
,
copyChannel()
,
draw()
en
drawWithQuality()
. (De methode
drawWithQuality
is beschikbaar in Flash Player 11.3 en hoger en in AIR 3.3 en hoger.)
Zoals de naam al doet vermoeden, kunt u met de methode
clone()
bitmapgegevens uit het ene naar het andere object BitmapData klonen. Wanneer deze methode wordt aangeroepen, wordt er een nieuw object BitmapData geretourneerd dat een exacte kloon is van de oorspronkelijke instantie waaruit het object is gekopieerd.
In het volgende voorbeeld wordt een kopie van een oranje (bovenliggend) vierkant gekloond en wordt de kloon naast het oorspronkelijke bovenliggende vierkant geplaatst:
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;
Met de methode
copyPixels()
kunt u snel en eenvoudig pixels van het ene naar het andere object BitmapData kopiëren. Er wordt een rechthoekige momentopname (gedefinieerd door de parameter
sourceRect
) van de bronafbeelding gemaakt en deze wordt naar een ander rechthoekig gebied (van gelijke grootte) gekopieerd. De locatie van de nieuwe geplakte rechthoek wordt gedefinieerd in de parameter
destPoint
.
Met de methode
copyChannel()
wordt een vooraf gedefinieerde kleurkanaalwaarde (alfa, rood, groen of blauw) gesampled uit een BitmapData-bronobject en wordt deze gekopieerd naar een kanaal van een BitmapData-doelobject. Wanneer deze methode wordt aangeroepen, heeft dit geen invloed op de andere kanalen in het BitmapData-doelobject.
Met de methoden
draw()
en
drawWithQuality()
wordt de grafische inhoud uit een bronsprite, filmclip of een ander weergaveobject getekend, ofwel gerenderd, in een nieuwe bitmap. U kunt de parameters
matrix
,
colorTransform
,
blendMode
en de doelparameter
clipRect
gebruiken om de wijze waarop de nieuwe bitmap wordt gerenderd te wijzigen. Bij deze methode wordt de vectorrenderer in Flash Player en AIR gebruikt om de gegevens te genereren.
Wanneer u
draw()
of
drawWithQuality()
aanroept, geeft u het bronobject (sprite, filmclip of ander weergaveobject) door als de eerste parameter, zoals hier wordt gedemonstreerd:
myBitmap.draw(movieClip);
Als op het bronobject transformaties (kleur, matrix enzovoort) zijn toegepast sinds het is geladen, worden deze niet naar het nieuwe object gekopieerd. Als u de transformaties naar de nieuwe bitmap wilt kopiëren, moet u de waarde van de eigenschap
transform
uit het oorspronkelijke object kopiëren naar de eigenschap
transform
van het object Bitmap dat het nieuwe object BitmapData gebruikt.