Paketflash.display
Klassepublic class Bitmap
VererbungBitmap Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Die Bitmap-Klasse repräsentiert Anzeigeobjekte, die Bitmaps darstellen. Dabei kann es sich um Bilder handeln, die Sie mit der flash.display.Loader-Klasse laden, oder auch um Bilder, die Sie mit dem Konstruktor Bitmap() erstellen.

Mit dem Konstruktor Bitmap() können Sie ein Bitmap-Objekt zu erstellen, das einen Verweis auf ein BitmapData-Objekt enthält. Verwenden Sie nach der Erstellung eines Bitmap-Objekts die Methode addChild() oder addChildAt() des übergeordneten DisplayObjectContainer-Objekts, um die Bitmap in die Anzeigeliste aufzunehmen.

Ein Bitmap-Objekt kann seinen BitmapData-Verweis auf mehrere Bitmap-Objekte aufteilen, und zwar unabhängig von Übersetzungs- oder Drehungseigenschaften. Da Sie mehrere Bitmap-Objekte erstellen können, die auf dasselbe BitmapData-Objekt verweisen, können mehrere Anzeigeobjekte dasselbe komplexe BitmapData-Objekt verwenden, ohne die Speicherbelastung des BitmapData-Objekts für jede Anzeigeobjektinstanz berücksichtigen zu müssen.

Ein BitmapData-Objekt kann von einem Bitmap-Objekt auf zweierlei Weise auf den Bildschirm gezeichnet werden: Entweder, indem der Vektorrenderer als eine Form mit Bitmap-Füllung verwendet wird, oder indem Sie eine schnellere Pixelkopierroutine einsetzen. Die Pixelkopierroutine ist wesentlich schneller als der Vektorrenderer, doch muss das Bitmap-Objekt bestimmte Bedingungen erfüllen, damit sie eingesetzt werden kann:

Wenn Sie ein Bitmap-Objekt aus einer anderen Domäne als der des Loader-Objekts verwenden, mit dem das Bild geladen wurde, und es keine domänenübergreifende Richtliniendatei gibt, die den Zugriff auf die Domäne des Loader-Objekts erlaubt, kann ein Skript in dieser Domäne nicht auf die Bitmap-Objekte und deren Eigenschaften und Methoden zugreifen. Weitere Informationen finden Sie in den folgenden Abschnitten:

Hinweis: Die Bitmap-Klasse ist keine Unterklasse der InteractiveObject-Klasse, sodass keine Mausereignisse ausgelöst werden können. Sie können jedoch die addEventListener()-Methode des Anzeigeobjekt-Containers verwenden, der das Bitmap-Objekt enthält.

Beispiele anzeigen

Siehe auch

flash.display.Loader
flash.display.BitmapData
Hauptanzeigeklassen
Grundlagen der Verwendung von Bitmaps


Öffentliche Eigenschaften
 EigenschaftDefiniert von
 InheritedaccessibilityProperties : AccessibilityProperties
Die aktuellen Eingabehilfenoptionen für dieses Anzeigeobjekt.
DisplayObject
 Inheritedalpha : Number
Gibt den Alphatransparenzwert des angegebenen Objekts an.
DisplayObject
  bitmapData : BitmapData
Das BitmapData-Objekt, auf das verwiesen wird.
Bitmap
 InheritedblendMode : String
Ein Wert aus der BlendMode-Klasse, mit dem angegeben wird, welcher Mischmodus verwendet werden soll.
DisplayObject
 InheritedcacheAsBitmap : Boolean
Wird diese Eigenschaft auf "true" gesetzt, speichert Flash Player eine interne Bitmap-Darstellung des Anzeigeobjekts im Cache.
DisplayObject
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
 Inheritedfilters : Array
Ein indiziertes Array, das alle dem Anzeigeobjekt derzeit zugeordneten filter-Objekte enthält.
DisplayObject
 Inheritedheight : Number
Gibt die Höhe des Anzeigeobjekts in Pixel an.
DisplayObject
 InheritedloaderInfo : LoaderInfo
[read-only] Gibt ein LoaderInfo-Objekt mit Informationen zum Laden der Datei zurück, zu der dieses Anzeigeobjekt gehört.
DisplayObject
 Inheritedmask : DisplayObject
Das aufrufende Anzeigeobjekt wird durch das angegebene mask-Objekt maskiert.
DisplayObject
 InheritedmouseX : Number
[read-only] Gibt die x-Koordinate der Mausposition in Pixel an.
DisplayObject
 InheritedmouseY : Number
[read-only] Gibt die y-Koordinate der Mausposition in Pixel an.
DisplayObject
 Inheritedname : String
Gibt den Instanznamen des Anzeigeobjekts an.
DisplayObject
 InheritedopaqueBackground : Object
Legt fest, ob das Anzeigeobjekt bei einer bestimmten Hintergrundfarbe undurchsichtig ist.
DisplayObject
 Inheritedparent : DisplayObjectContainer
[read-only] Gibt das DisplayObjectContainer-Objekt an, das dieses Anzeigeobjekt enthält.
DisplayObject
  pixelSnapping : String
Steuert, ob das Bitmap-Objekt am nächsten Pixel ausgerichtet wird.
Bitmap
 Inheritedprototype : Object
[static] Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
Object
 Inheritedroot : DisplayObject
[read-only] Bei einem Anzeigeobjekt in einer geladenen SWF-Datei ist die root-Eigenschaft das oberste Anzeigeobjekt in dem Teil der Baumstruktur der Anzeigeliste, der diese SWF-Datei repräsentiert.
DisplayObject
 Inheritedrotation : Number
Gibt die Drehung der DisplayObject-Instanz ausgehend von der ursprünglichen Ausrichtung in Grad an.
DisplayObject
 Inheritedscale9Grid : Rectangle
Das aktuell verwendete Skalierungsraster.
DisplayObject
 InheritedscaleX : Number
Gibt die horizontale Skalierung (percentage) des Objekts ausgehend vom Registrierungspunkt an.
DisplayObject
 InheritedscaleY : Number
Gibt die vertikale Skalierung (percentage) eines Objekts ausgehend vom Registrierungspunkt an.
DisplayObject
 InheritedscrollRect : Rectangle
Die Begrenzungen des Bildlaufrechtecks für das Anzeigeobjekt.
DisplayObject
  smoothing : Boolean
Steuert, ob die Bitmap beim Skalieren geglättet wird.
Bitmap
 Inheritedstage : Stage
[read-only] Die Bühne des Anzeigeobjekts.
DisplayObject
 Inheritedtransform : Transform
Ein Objekt mit Eigenschaften, die zur Matrix, Farbtransformation und Pixelbegrenzung eines Anzeigeobjekts gehören.
DisplayObject
 Inheritedvisible : Boolean
Gibt an, ob das Anzeigeobjekt sichtbar ist oder nicht.
DisplayObject
 Inheritedwidth : Number
Gibt die Breite des Anzeigeobjekts in Pixel an.
DisplayObject
 Inheritedx : Number
Gibt die x-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an.
DisplayObject
 Inheritedy : Number
Gibt die y-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an.
DisplayObject
Öffentliche Methoden
 MethodeDefiniert von
  
Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
Initialisiert ein Bitmap-Objekt, das auf das angegebene BitmapData-Objekt verweisen soll.
Bitmap
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
EventDispatcher
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Gibt ein Rechteck zurück, das den Bereich des Anzeigeobjekts in Bezug auf das Koordinatensystem des targetCoordinateSpace-Objekts definiert.
DisplayObject
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
Gibt ein Rechteck zurück, das die Begrenzung des Anzeigeobjekts (ohne etwaige Striche oder Formen) definiert, und zwar aufgrund des vom Parameter "targetCoordinateSpace" definierten Koordinatensystems.
DisplayObject
 Inherited
Konvertiert das point-Objekt von den (globalen) Bühnenkoordinaten in die (lokalen) Koordinaten des Anzeigeobjekts.
DisplayObject
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Wertet das Anzeigeobjekt aus, um festzustellen, ob es das Anzeigeobjekt "obj" überdeckt oder schneidet.
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Wertet das Anzeigeobjekt aus, um festzustellen, ob es den durch die Parameter "x" und "y" festgelegten Punkt überdeckt oder schneidet.
DisplayObject
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Konvertiert das point-Objekt von den (lokalen) Koordinaten des Anzeigeobjekts in die (globalen) Bühnenkoordinaten.
DisplayObject
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner vorangegangenen Elementen ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 Ereignis - Übersicht Definiert von
 Inherited Wird ausgelöst, wenn Flash Player den Betriebssystemfokus erhält und aktiv wird.EventDispatcher
 Inherited Wird ausgelöst, wenn ein Objekt der Anzeigeliste hinzugefügt wird.DisplayObject
 Inherited Wird ausgelöst, wenn ein Anzeigeobjekt der Anzeigeliste für die Bühne hinzugefügt wird. Dies erfolgt entweder direkt oder über das Hinzufügen einer Unterstruktur, die das Anzeigeobjekt enthält.DisplayObject
 Inherited Wird ausgelöst, wenn Flash Player den Betriebssystemfokus verliert und inaktiv wird.EventDispatcher
 Inherited Wird ausgelöst, wenn der Abspielkopf ein neues Bild erreicht.DisplayObject
 Inherited Wird ausgelöst, wenn ein Objekt aus der Anzeigeliste entfernt werden soll.DisplayObject
 Inherited Wird ausgelöst, wenn ein Anzeigeobjekt aus der Anzeigeliste entfernt werden soll. Dies erfolgt entweder direkt oder über das Entfernen einer Unterstruktur, die das Anzeigeobjekt enthält.DisplayObject
 Inherited Wird ausgelöst, wenn die Anzeigeliste aktualisiert und neu gezeichnet werden soll.DisplayObject
Eigenschaftsdetail
bitmapDataEigenschaft
bitmapData:BitmapData  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Das BitmapData-Objekt, auf das verwiesen wird.


Implementierung
    public function get bitmapData():BitmapData
    public function set bitmapData(value:BitmapData):void
pixelSnappingEigenschaft 
pixelSnapping:String  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Steuert, ob das Bitmap-Objekt am nächsten Pixel ausgerichtet wird. Die PixelSnapping-Klasse umfasst die folgenden zulässigen Werte:


Implementierung
    public function get pixelSnapping():String
    public function set pixelSnapping(value:String):void
smoothingEigenschaft 
smoothing:Boolean  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Steuert, ob die Bitmap beim Skalieren geglättet wird. Wenn true angegeben ist, wird die Bitmap beim Skalieren geglättet. Wenn false angegeben ist, wird die Bitmap beim Skalieren nicht geglättet.


Implementierung
    public function get smoothing():Boolean
    public function set smoothing(value:Boolean):void
Konstruktordetail
Bitmap()Konstruktor
public function Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Initialisiert ein Bitmap-Objekt, das auf das angegebene BitmapData-Objekt verweisen soll.

Parameter
bitmapData:BitmapData (default = null) — Das BitmapData-Objekt, auf das verwiesen wird.
 
pixelSnapping:String (default = "auto") — Gibt an, ob das Bitmap-Objekt am nächsten Pixel ausgerichtet wird.
 
smoothing:Boolean (default = false) — Gibt an, ob die Bitmap beim Skalieren geglättet wird. Im folgenden Beispiel wird dieselbe Bitmap um den Faktor 3 skaliert angezeigt, wobei smoothing auf false (links) und true (rechts) gesetzt ist:

Beispiele Verwendung von Beispielen
BitmapExample.as

Im folgenden Beispiel wird die BitmapExample-Klasse verwendet, um die Grafik "Image.gif" an der Standardposition (x = 0, y = 0) in ein "DisplayObject" zu laden. Eine Kopie von "Image.gif" wird rechts vom Original positioniert, für das neue Farben auf Pixel angewendet werden, die einen Test mit der threshold()-Methode bestanden haben. Dies wird in den folgenden Schritten erreicht:
  1. Es wird eine url-Eigenschaft erstellt, die den Speicherort und Namen der Bilddatei angibt.
  2. Der Klassenkonstruktor ruft die configureAssets()-Methode auf, die wiederum die completeHandler()-Methode aufruft.
  3. configureAssets() erstellt ein Loader-Objekt, das dann einen Ereignis-Listener instanziiert. Der Ereignis-Listener wird ausgelöst, wenn die completeHandler()-Methode die Bildbearbeitung abgeschlossen hat.
  4. Als Nächstes erstellt die buildChild()-Methode eine neue Instanz eines URLRequest-Objekts, request, mit Übergabe von url, damit der Dateiname und -speicherort bekannt sind.
  5. Das request-Objekt wird an die loader.load()-Methode übergeben, die das Bild über ein Anzeigeobjekt in den Speicher lädt.
  6. Das Bild wird in die Anzeigeliste eingefügt, die das Bild sofort auf dem Bildschirm bei den Koordinaten x = 0, y = 0 anzeigt.
  7. Die completeHandler()-Methode führt dann Folgendes aus:
    1. Sie erstellt ein zweites Loader-Objekt und ein Bitmap-Objekt, das über das Loader-Objekt initialisiert wird.
    2. Sie erstellt ein zweites Bitmap-Objekt, duplicate, das wiederum die duplicateImage()-Methode aufruft, die ein Duplikat des Originalbilds erzeugt.
    3. Sie erstellt ein BitmapData-Objekt, das dem BitmapData-Objekt des duplicate-Objekts zugeordnet ist.
    4. Sie erstellt ein neues Rechteckobjekt, das mit denselben Werten für Koordinaten, Breite und Höhe wie das Originalbild initialisiert wird.
    5. Sie erstellt ein neues Point-Objekt mit der Standardeinstellung x = 0, y = 0.
    6. Sie erstellt die folgenden Variablen:
      • operation: Wendet die neue Farbe an, wenn der Schwellenwert größer oder gleich dem Original ist.
      • threshold: Der Wert, mit dem jedes Pixel verglichen wird, wird auf Hellgrau mit einem Alphawert von 0xCC gesetzt.
      • color: Die Farbe, auf die die Pixel eingestellt werden, die den Schwellentest bestehen. In diesem Fall ist dies reines Gelb.
      • mask: Die genau entgegengesetzte Farbe (durchsichtiges Blau).
      • copySource: Auf "false" gesetzt. Dies zeigt an, dass die Pixelwerte nicht kopiert werden, wenn der Schwellenwert den Test nicht besteht. Dieser Wert hat keine Bedeutung, da das Bild dupliziert wird und nur Pixel geändert werden, die den Schwellenwerttest bestehen.
    7. Ruft mithilfe der vorherigen Variablen die threshold()-Methode auf. Es ergibt sich die folgende Schwellenwertgleichung: if (current pixel Value & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) then set pixel to 0xFFFFFF00.

Hinweise:


package {
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.net.URLRequest;

    public class BitmapExample extends Sprite {
        private var url:String = "Image.gif";
        private var size:uint = 80;

        public function BitmapExample() {
            configureAssets();
        }

        private function configureAssets():void {
            var loader:Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
            loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

            var request:URLRequest = new URLRequest(url);
            loader.x = size * numChildren;
            loader.load(request);
            addChild(loader);
        }

        private function duplicateImage(original:Bitmap):Bitmap {
            var image:Bitmap = new Bitmap(original.bitmapData.clone());
            image.x = size * numChildren;
            addChild(image);
            return image;
        }

        private function completeHandler(event:Event):void {
            var loader:Loader = Loader(event.target.loader);
            var image:Bitmap = Bitmap(loader.content);

            var duplicate:Bitmap = duplicateImage(image);
            var bitmapData:BitmapData = duplicate.bitmapData;
            var sourceRect:Rectangle = new Rectangle(0, 0, bitmapData.width, bitmapData.height);
            var destPoint:Point = new Point();
            var operation:String = ">=";
            var threshold:uint = 0xCCCCCCCC;
            var color:uint = 0xFFFFFF00;
            var mask:uint = 0x000000FF;
            var copySource:Boolean = true;

            bitmapData.threshold(bitmapData,
                                 sourceRect,
                                 destPoint,
                                 operation,
                                 threshold,
                                 color,
                                 mask,
                                 copySource);
        }
        
        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("Unable to load image: " + url);
        }
    }
}




 

Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht

Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/display/Bitmap.html