Kopieren von BitmapdatenFlash Player 9 und höher, Adobe AIR 1.0 und höher Bitmapdaten können mithilfe verschiedener Methoden von einem Bild in ein anderes kopiert werden: clone(), copyPixels(), copyChannel() und draw(). Mit der clone()-Methode können Sie Bitmapdaten von einem BitmapData-Objekt in ein anderes Objekt klonen. Beim Aufruf dieser Methode wird ein neues BitmapData-Objekt zurückgegeben, das ein exakter Klon der Instanz ist, von der es kopiert wurde. Im folgenden Beispiel wird eine Kopie eines orangefarbenen (übergeordneten) Quadrats geklont und neben dem übergeordneten Originalquadrat positioniert: 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; Mit der copyPixels()-Methode können Pixel schnell und einfach von einem BitmapData-Objekt in ein anderes kopiert werden. Bei dieser Methode wird ein rechteckiger Schnappschuss (definiert durch den sourceRect-Parameter) des Quellbilds erstellt und in einen anderen rechteckigen Bereich (mit der gleichen Größe) kopiert. Die Position des neuen „eingefügten“ Rechtecks wird im destPoint-Parameter festgelegt. Mit der copyChannel()-Methode wird ein vordefinierter Farbkanalwert (Alpha, Rot, Grün oder Blau) eines BitmapData-Quellobjekts in einen Kanal eines BitmapData-Zielobjekts kopiert. Der Aufruf dieser Methode wirkt sich nicht auf die anderen Kanäle im BitmapData-Zielobjekt aus. Mit der draw()-Methode wird der grafische Inhalt eines Sprite-Quellobjekts, MovieClip-Quellobjekts oder eines anderen Anzeigeobjekts in einer neuen Bitmap gezeichnet oder dargestellt. Mithilfe der Parameter matrix, colorTransform, blendMode und clipRect können Sie die Art und Weise ändern, auf die die neue Bitmap dargestellt wird. Diese Methode verwendet die Vektordarstellung in Flash Player und AIR, um die Daten zu generieren. Beim Aufrufen von draw() wird das Quellobjekt (Sprite-Objekt, MovieClip-Objekt oder anderes Anzeigeobjekt) als erster Parameter übergeben, wie im Folgenden dargestellt: myBitmap.draw(movieClip); Wenn auf das Quellobjekt Transformationen (Farbe, Matrix usw.) angewendet wurden, nachdem es geladen wurde, werden diese Transformationen nicht in das neue Objekt kopiert. Wenn Sie die Transformationen in das neue Bitmapbild kopieren möchten, müssen Sie den Wert der transform-Eigenschaft des Originalobjekts in die transform-Eigenschaft des Bitmap-Objekts kopieren, in dem das neue BitmapData-Objekt verwendet wird. |
|