Paket | flash.display |
Klasse | public class Bitmap |
Vererbung | Bitmap DisplayObject EventDispatcher Object |
Unterklassen | FlexBitmap |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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:
- Auf das Bitmap-Objekt darf keine Dehnung, Drehung oder Neigung angewendet werden.
- Auf das Bitmap-Objekt darf keine Farbtransformation angewendet werden.
- Auf das Bitmap-Objekt darf kein Mischmodus angewendet werden.
- Das Bild darf nicht über Maskenebenen oder
setMask()
-Methoden zugeschnitten werden. - Das Bild selbst darf keine Maske sein.
- Die Zielkoordinaten müssen sich auf einer ganzen Pixelbegrenzung befinden.
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 URL-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 im Flash Player Developer Center im Abschnitt Sicherheit.
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.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
Die aktuellen Optionen für Eingabehilfen zur Barrierefreiheit dieses Anzeigeobjekts. | DisplayObject | ||
alpha : Number
Gibt den Alphatransparenzwert des angegebenen Objekts an. | DisplayObject | ||
bitmapData : BitmapData
Das BitmapData-Objekt, auf das verwiesen wird. | Bitmap | ||
blendMode : String
Ein Wert aus der BlendMode-Klasse, mit dem angegeben wird, welcher Mischmodus verwendet werden soll. | DisplayObject | ||
blendShader : Shader [Nur Schreiben]
Legt einen Shader fest, der für das Mischen von Vordergrund und Hintergrund verwendet wird. | DisplayObject | ||
cacheAsBitmap : Boolean
Wird diese Eigenschaft auf „true“ gesetzt, speichern Flash-Laufzeitumgebungen eine interne Bitmap-Darstellung des Anzeigeobjekts im Cache. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Bei einem Nicht-Null-Wert definiert dieses Matrix-Objekt, wie ein Anzeigeobjekt dargestellt wird, wenn cacheAsBitmap auf „true“ gesetzt ist. | DisplayObject | ||
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
filters : Array
Ein indiziertes Array, das alle dem Anzeigeobjekt derzeit zugeordneten filter-Objekte enthält. | DisplayObject | ||
height : Number
Gibt die Höhe des Anzeigeobjekts in Pixeln an. | DisplayObject | ||
loaderInfo : LoaderInfo [schreibgeschützt]
Gibt ein LoaderInfo-Objekt mit Informationen zum Laden der Datei zurück, zu der dieses Anzeigeobjekt gehört. | DisplayObject | ||
mask : DisplayObject
Das aufrufende Anzeigeobjekt wird durch das angegebene mask-Objekt maskiert. | DisplayObject | ||
metaData : Object
Bezieht das Metadatenobjekt der DisplayObject-Instanz, wenn Metadaten neben der Instanz dieses DisplayObject in der SWF-Datei durch ein PlaceObject4-Tag gespeichert wurden. | DisplayObject | ||
mouseX : Number [schreibgeschützt]
Gibt die x-Koordinate der Position der Maus oder des Benutzereingabegeräts in Pixeln an. | DisplayObject | ||
mouseY : Number [schreibgeschützt]
Gibt die y-Koordinate der Position der Maus oder des Benutzereingabegeräts in Pixeln an. | DisplayObject | ||
name : String
Gibt den Instanznamen des Anzeigeobjekts an. | DisplayObject | ||
opaqueBackground : Object
Legt fest, ob das Anzeigeobjekt bei einer bestimmten Hintergrundfarbe undurchsichtig ist. | DisplayObject | ||
parent : DisplayObjectContainer [schreibgeschützt]
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 | ||
root : DisplayObject [schreibgeschützt]
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 | ||
rotation : Number
Gibt die Drehung der DisplayObject-Instanz ausgehend von der ursprünglichen Ausrichtung in Grad an. | DisplayObject | ||
rotationX : Number
Gibt die x-Achsendrehung der DisplayObject-Instanz in Grad an, und zwar bezogen auf die ursprüngliche Ausrichtung zum übergeordneten 3D-Container. | DisplayObject | ||
rotationY : Number
Gibt die y-Achsendrehung der DisplayObject-Instanz in Grad an, und zwar bezogen auf die ursprüngliche Ausrichtung zum übergeordneten 3D-Container. | DisplayObject | ||
rotationZ : Number
Gibt die Drehung der z-Achse der DisplayObject-Instanz in Grad an, ausgehend von ihrer ursprünglichen Ausrichtung relativ zum übergeordneten 3D-Container. | DisplayObject | ||
scale9Grid : Rectangle
Das aktuell verwendete Skalierungsraster. | DisplayObject | ||
scaleX : Number
Gibt die horizontale Skalierung (Prozentwert) des Objekts ausgehend vom Registrierungspunkt an. | DisplayObject | ||
scaleY : Number
Gibt die vertikale Skalierung (Prozentwert) eines Objekts ausgehend vom Registrierungspunkt an. | DisplayObject | ||
scaleZ : Number
Gibt die Tiefenskalierung (Prozentwert) eines Objekts ausgehend vom Registrierungspunkt an. | DisplayObject | ||
scrollRect : Rectangle
Die Begrenzungen des Bildlaufrechtecks für das Anzeigeobjekt. | DisplayObject | ||
smoothing : Boolean
Steuert, ob die Bitmap beim Skalieren geglättet wird. | Bitmap | ||
stage : Stage [schreibgeschützt]
Die Bühne des Anzeigeobjekts. | DisplayObject | ||
transform : flash.geom:Transform
Ein Objekt mit Eigenschaften, die zur Matrix, Farbtransformation und Pixelbegrenzung eines Anzeigeobjekts gehören. | DisplayObject | ||
visible : Boolean
Gibt an, ob das Anzeigeobjekt sichtbar ist oder nicht. | DisplayObject | ||
width : Number
Gibt die Breite des Anzeigeobjekts in Pixeln an. | DisplayObject | ||
x : Number
Gibt die x-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an. | DisplayObject | ||
y : Number
Gibt die y-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an. | DisplayObject | ||
z : Number
Gibt die z-Koordinatenposition an der z-Achse der DisplayObject-Instanz relativ zum übergeordneten 3D-Container an. | DisplayObject |
Methode | Definiert von | ||
---|---|---|---|
Initialisiert ein Bitmap-Objekt, das auf das angegebene BitmapData-Objekt verweisen soll. | Bitmap | ||
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 | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
Gibt ein Rechteck zurück, das den Bereich des Anzeigeobjekts in Bezug auf das Koordinatensystem des targetCoordinateSpace-Objekts definiert. | DisplayObject | ||
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 | ||
Konvertiert das point-Objekt von den (globalen) Bühnenkoordinaten in die (lokalen) Koordinaten des Anzeigeobjekts. | DisplayObject | ||
Konvertiert einen zweidimensionale Punkt von den (globalen) Bühnenkoordinaten in die dreidimensionalen (lokalen) Koordinaten des Anzeigeobjekts. | DisplayObject | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Untersucht den Begrenzungsrahmen des Anzeigeobjekts, um festzustellen, ob er sich mit dem Begrenzungsrahmen des obj-Anzeigeobjekts überschneidet. | DisplayObject | ||
Wertet das Anzeigeobjekt aus, um festzustellen, ob es den durch die Parameter „x“ und „y“ festgelegten Punkt überdeckt oder schneidet. | DisplayObject | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Konvertiert einen dreidimensionalen Punkt der dreidimensionalen (lokalen) Koordinaten des Anzeigeobjekts in einen zweidimensionalen Punkt der (globalen) Bühnenkoordinaten. | DisplayObject | ||
Konvertiert das point-Objekt von den (lokalen) Koordinaten des Anzeigeobjekts in die (globalen) Bühnenkoordinaten. | DisplayObject | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | EventDispatcher | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher |
bitmapData | Eigenschaft |
bitmapData:BitmapData
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Das BitmapData-Objekt, auf das verwiesen wird.
Implementierung
public function get bitmapData():BitmapData
public function set bitmapData(value:BitmapData):void
pixelSnapping | Eigenschaft |
pixelSnapping:String
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Steuert, ob das Bitmap-Objekt am nächsten Pixel ausgerichtet wird. Die PixelSnapping-Klasse umfasst die folgenden zulässigen Werte:
PixelSnapping.NEVER
: Keine Ausrichtung an Pixeln.PixelSnapping.ALWAYS
: Die Grafik wird immer am nächsten Pixel ausgerichtet, und zwar unabhängig von einer etwaigen Transformation.PixelSnapping.AUTO
: Das Bild wird am nächsten Pixel ausgerichtet, wenn es ohne Drehung oder Neigung gezeichnet wird, und mit einem Skalierungsfaktor von 99,9 % bis 100,1 % gezeichnet. Sind diese Bedingungen erfüllt, wird die Bitmap bei einhundertprozentiger Skalierung gezeichnet und am nächstgelegenen Pixel ausgerichtet. Intern ermöglicht es dieser Wert, dass die Grafik so schnell wie möglich gezeichnet wird, indem der Vektorrenderer verwendet wird.
Implementierung
public function get pixelSnapping():String
public function set pixelSnapping(value:String):void
smoothing | Eigenschaft |
smoothing:Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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
Bitmap | () | Konstruktor |
public function Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Initialisiert ein Bitmap-Objekt, das auf das angegebene BitmapData-Objekt verweisen soll.
ParameterbitmapData: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:
|
Beispiel ( Verwendung dieses Beispiels )
const IMAGE_URL:String = "http://www.helpexamples.com/flash/images/logo.png"; var ldr:Loader = new Loader(); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, ldr_complete); ldr.load(new URLRequest(IMAGE_URL)); var bitmap1:Bitmap; var bitmap2:Bitmap; var bitmap3:Bitmap; var bitmap4:Bitmap; function ldr_complete(evt:Event):void { var bmp:Bitmap = ldr.content as Bitmap; bitmap1 = new Bitmap(bmp.bitmapData); bitmap1.x = 100; bitmap1.y = 100; bitmap1.rotation = 0; addChild(bitmap1); bitmap2 = new Bitmap(bmp.bitmapData); bitmap2.x = 200; bitmap2.y = 100; bitmap2.rotation = 90; addChild(bitmap2); bitmap3 = new Bitmap(bmp.bitmapData); bitmap3.x = 300; bitmap3.y = 100; bitmap3.rotation = 180; addChild(bitmap3); bitmap4 = new Bitmap(bmp.bitmapData); bitmap4.x = 400; bitmap4.y = 100; bitmap4.rotation = 270; addChild(bitmap4); }
threshold()
-Methode bestanden haben. Dies wird in den folgenden Schritten erreicht:
- Es wird eine
url
-Eigenschaft erstellt, die den Speicherort und Namen der Bilddatei angibt. - Der Klassenkonstruktor ruft die
configureAssets()
-Methode auf, die wiederum diecompleteHandler()
-Methode aufruft. configureAssets()
erstellt ein Loader-Objekt, das dann einen Ereignis-Listener instanziiert. Der Ereignis-Listener wird ausgelöst, wenn diecompleteHandler()
-Methode die Bildbearbeitung abgeschlossen hat.- Als Nächstes erstellt die
buildChild()
-Methode eine neue Instanz eines URLRequest-Objekts,request
, mit Übergabe vonurl
, damit der Dateiname und -speicherort bekannt sind. - Das
request
-Objekt wird an dieloader.load()
-Methode übergeben, die das Bild über ein Anzeigeobjekt in den Speicher lädt. - Das Bild wird in die Anzeigeliste eingefügt, die das Bild sofort auf dem Bildschirm bei den Koordinaten x = 0, y = 0 anzeigt.
- Die
completeHandler()
-Methode führt dann Folgendes aus:- Sie erstellt ein zweites Loader-Objekt und ein Bitmap-Objekt, das über das Loader-Objekt initialisiert wird.
- Sie erstellt ein zweites Bitmap-Objekt,
duplicate
, das wiederum dieduplicateImage()
-Methode aufruft, die ein Duplikat des Originalbilds erzeugt. - Sie erstellt ein BitmapData-Objekt, das dem BitmapData-Objekt des
duplicate
-Objekts zugeordnet ist. - Sie erstellt ein neues Rechteckobjekt, das mit denselben Werten für Koordinaten, Breite und Höhe wie das Originalbild initialisiert wird.
- Sie erstellt ein neues Point-Objekt mit der Standardeinstellung x = 0, y = 0.
- 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.
- 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:
- Für die Kompilierung der SWF-Datei müssen Sie die Option „Sicherheit bei lokaler Wiedergabe“ auf „Nur auf lokale Dateien zugreifen“ einstellen.
- Zur Ausführung dieses Beispiels müssen Sie eine Datei mit dem Namen „Image.gif“ in dem Ordner ablegen, in dem sich die SWF-Datei befindet.
- Es wird empfohlen, ein Bild mit einer Breite von bis zu 80 Pixel zu verwenden.
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); } } }
Tue Jun 12 2018, 10:04 AM Z