Referenshandbok för ActionScript® 3.0 i Adobe® Flash®-plattformen
Hem  |  Dölj paket och klasslista |  Paket  |  Klasser  |  Nyheter  |  Index  |  Bilagor  |  Varför på engelska?
Filter: Hämtar data från servern ...
Hämtar data från servern ...
flash.display 

Bitmap  - AS3

Paketflash.display
Klasspublic class Bitmap
ArvBitmap Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Underklasser FlexBitmap

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Klassen Bitmap betecknar visningsobjekt som betecknar bitmappsbilder. Det kan vara bilder som du läser in med flash.display.Loader-klassen, eller bilder som du skapar med Bitmap()-konstruktorn.

Med Bitmap()-konstruktorn kan du skapa ett Bitmap-objekt med en referens till ett BitmapData-objekt. När du har skapat ett Bitmap-objekt använder du den överordnade DisplayObjectContainer-instansens addChild()- eller addChildAt()-metod för att placera bitmappen i visningslistan.

Ett Bitmap-objekt kan dela sin BitmapData-referens på flera Bitmap-objekt oberoende av translationsegenskaper eller rotationsegenskaper. Eftersom du kan skapa flera Bitmap-objekt som refererar till samma BitmapData-objekt kan flera visningsobjekt använda samma komplex BitmapData-objekt utan att det medför den minnesbelastning som ett BitmapData-objekt för varje visningsobjektsinstans skulle ha inneburit.

Ett BitmapData-objekt kan skrivas till skärmen av ett Bitmap-objekt på två olika sätt - genom att använda vektorrenderaren som en bitmappsfyllform eller genom att använda en snabbare pixelkopieringsrutin. pixelkopieringsrutinen är betydligt snabbare än vektorrenderaren men Bitmap-objektet måste uppfylla vissa villkor för att den ska kunna användas:

  • Utsträckning, rotering eller skevning kan inte tillämpas på Bitmap-objektet.
  • Färgomformning kan inte tillämpas på Bitmap-objektet.
  • Blandningsläget kan inte tillämpas på Bitmap-objektet.
  • Beskärning kan inte göras genom maskeringslager eller setMask()-metoder.
  • Bilden i sig kan inte vara en mask.
  • Destinationskoordinaterna måste ligga på en hel pixelgräns.

Om du läser in ett bitmapobjekt från en annan domän än den för det Loader-objekt som användes för att läsa in bilden, och det inte finns någon URL-principfil som tillåter åtkomst av Loader-objektets domän, kan ett skript i den domänen inte få åtkomst till Bitmap-objektet eller dess egenskaper och metoder. Mer information finns i avsnittet Security på Flash Player Developer Center.

Obs! Bitmap-klassen utgör inte en underklass till InteractiveObject-klassen och kan därför inte skicka mushändelser. Du kan emellertid använda addEventListener()-metoden för den visningsobjektbehållare som innehåller Bitmap-objektet.

Visa exemplen

Relaterade API-element



Publika egenskaper
 EgenskapDefinieras med
 InheritedaccessibilityProperties : AccessibilityProperties
De nuvarande hjälpmedelsalternativen för det här visningsobjektet.
DisplayObject
 Inheritedalpha : Number
Anger det angivna objektets alfagenomskinlighetsvärde.
DisplayObject
  bitmapData : BitmapData
BitmapData-objektet som refereras.
Bitmap
 InheritedblendMode : String
Ett värde från klassen BlendMode som anger vilket blandningsläge som ska användas.
DisplayObject
 InheritedblendShader : Shader
[lässkyddad] Ställer in en skuggning som används för blandning av förgrund och bakgrund.
DisplayObject
 InheritedcacheAsBitmap : Boolean
Om det är true, sparar Flash-miljöerna en intern bitmappsrepresentation av visningsobjektet i cache-minnet.
DisplayObject
 Inherited    cacheAsBitmapMatrix : Matrix
Om detta inte är null definierar det här Matrix-objektet hur ett visningsobjekt återges när cacheAsBitmap har värdet true.
DisplayObject
 Inheritedconstructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans.
Object
 Inheritedfilters : Array
En indexerad array som innehåller varje filterobjekt som är associerat med visningsobjektet.
DisplayObject
 Inheritedheight : Number
Anger visningsobjektets höjd i pixlar.
DisplayObject
 InheritedloaderInfo : LoaderInfo
[skrivskyddad] Returnerar ett LoaderInfo-objekt som innehåller information om hur filen som visningsobjektet tillhör ska läsas in.
DisplayObject
 Inheritedmask : DisplayObject
Det anropande visningsobjektet maskeras av det angivna visningsobjektet.
DisplayObject
 InheritedmetaData : Object
Erhåller metadataobjektet för instansen DisplayObject om metadata har lagrats tillsammans med instansen för detta DisplayObject i SWF-filen via en PlaceObject4-tagg.
DisplayObject
 InheritedmouseX : Number
[skrivskyddad] Anger x-koordinaten för musens eller användarens indataenhets position i pixlar.
DisplayObject
 InheritedmouseY : Number
[skrivskyddad] Anger y-koordinaten för musens eller användarens indataenhets position i pixlar.
DisplayObject
 Inheritedname : String
Anger instansnamnet för DisplayObject.
DisplayObject
 InheritedopaqueBackground : Object
Anger om visningsobjektet är ogenomskinligt med en viss bakgrundsfärg.
DisplayObject
 Inheritedparent : DisplayObjectContainer
[skrivskyddad] Anger DisplayObjectContainer-objektet som innehåller visningsobjektet.
DisplayObject
  pixelSnapping : String
Avgör om Bitmap-objektet ska fästas mot närmsta pixel eller inte.
Bitmap
 Inheritedroot : DisplayObject
[skrivskyddad] För ett visningsobjekt i en inläst SWF-fil är rotegenskapen det översta visningsobjektet i den del av visningslistans trädstruktur som representeras av den SWF-filen.
DisplayObject
 Inheritedrotation : Number
Anger DisplayObject-instansens rotation i grader från den ursprungliga orienteringen.
DisplayObject
 InheritedrotationX : Number
Anger x-axelsrotationen i grader för DisplayObject-instansen, från den ursprungliga orienteringen i förhållande till den överordnade 3D-behållaren.
DisplayObject
 InheritedrotationY : Number
Anger y-axelsrotationen i grader för DisplayObject-instansen, från den ursprungliga orienteringen i förhållande till den överordnade 3D-behållaren.
DisplayObject
 InheritedrotationZ : Number
Anger z-axelsrotationen i grader för DisplayObject-instansen, från den ursprungliga orienteringen i förhållande till den överordnade 3D-behållaren.
DisplayObject
 Inheritedscale9Grid : Rectangle
Det skalningsrutnät som används för närvarande.
DisplayObject
 InheritedscaleX : Number
Anger vågrät skala (i procent) för objektet utifrån dess registreringspunkt.
DisplayObject
 InheritedscaleY : Number
Anger lodrät skala (i procent) för objektet utifrån dess registreringspunkt.
DisplayObject
 InheritedscaleZ : Number
Anger djupskala (procent) för objektet utifrån dess registreringspunkt.
DisplayObject
 InheritedscrollRect : Rectangle
Visningsobjektets gränser för rullningsrektangeln.
DisplayObject
  smoothing : Boolean
Avgör om bitmappsbilden ska utjämnas när den skalas.
Bitmap
 Inheritedstage : Stage
[skrivskyddad] Visningsobjektets scen.
DisplayObject
 Inheritedtransform : flash.geom:Transform
Ett objekt med egenskaper som gäller ett visningsobjekts matris, färgomformning och pixelgränser.
DisplayObject
 Inheritedvisible : Boolean
Om visingsobjektet är synligt eller inte.
DisplayObject
 Inheritedwidth : Number
Anger visningsobjektets bredd i pixlar.
DisplayObject
 Inheritedx : Number
Anger x-koordinaten för DisplayObject-instansen i förhållande till de lokala koordinaterna för den överordnade DisplayObjectContainer.
DisplayObject
 Inheritedy : Number
Anger y-koordinaten för DisplayObject-instansen i förhållande till de lokala koordinaterna för den överordnade DisplayObjectContainer.
DisplayObject
 Inheritedz : Number
Anger z-koordinatens position längs DisplayObject-instansens z-axel i förhållande till den överordnade 3D-behållaren.
DisplayObject
Publika metoder
 MetodDefinieras med
  
Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
Initierar ett Bitmap-objekt som refererar till det angivna BitmapData-objektet.
Bitmap
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser.
EventDispatcher
 Inherited
Skickar en händelse till händelseflödet.
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Returnerar en rektangel som definierar visningsområdets område i relation till targetCoordinateSpace-objektets koordinatsystem.
DisplayObject
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
Returnerar en rektangel som definierar visningsområdets gräns, baserat på koordinatsystemet som definieras av targetCoordinateSpace-parametern, exklusive eventuella linjer i former.
DisplayObject
 Inherited
Konverterar punktobjektet från scenens (globala) koordinater till visningsobjektets (lokala) koordinater.
DisplayObject
 Inherited
Konverterar en tvådimensionell punkt från scenens (globala) koordinater till ett tredimensionellt visningsobjekts (lokala) koordinater.
DisplayObject
 Inherited
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse.
EventDispatcher
 Inherited
Anger om det finns en egenskap angiven för ett objekt.
Object
 Inherited
Utvärderar begränsningsramen för visningsobjektet för att kontrollera om den överlappar eller korsar begränsningsramen för obj-visningsobjektet.
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Utvärderar visningsobjektet för att avgöra om det överlappar eller korsar den punkt som anges av x- och y-parametrarna.
DisplayObject
 Inherited
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter.
Object
 Inherited
Konverterar en tredimensionell punkt för det tredimensionella visningsobjektets (lokala) koordinater till en tvådimensionell punkt i scenens (globala) koordinater.
DisplayObject
 Inherited
Konverterar punktobjektet från visningsobjektets (lokala) koordinater till scenens (globala) koordinater.
DisplayObject
 Inherited
Anger om den angivna egenskapen finns och är uppräkningsbar.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Tar bort en avlyssnare från EventDispatcher-objektet.
EventDispatcher
 Inherited
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder.
Object
 Inherited
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner.
Object
 Inherited
Returnerar det angivna objektets strängbeteckning.
Object
 Inherited
Returnerar det angivna objektets primitiva värde.
Object
 Inherited
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen.
EventDispatcher
Händelser
 Händelse Sammanfattning Definieras med
 Inherited[utsändningshändelse] Skickas när Flash Player eller AIR får operativsystemfokus och blir aktivt.EventDispatcher
 InheritedSkickas när ett visningsobjekt läggs till i visningslistan.DisplayObject
 InheritedSkickas när ett visningsobjekt läggs till i scenens visningslista, antingen direkt eller genom tillägg av ett underträd som innehåller visningsobjektet.DisplayObject
 Inherited[utsändningshändelse] Skickas när Flash Player eller AIR förlorar operativsystemfokus och blir inaktivt.EventDispatcher
 Inherited[utsändningshändelse] Skickas när spelhuvudet går in i en ny bildruta.DisplayObject
 Inherited[utsändningshändelse] Skickas när spelhuvudet stänger den aktuella bildrutan.DisplayObject
 Inherited[utsändningshändelse] Skickas efter att konstruktorerna för bildrutevisningsobjekt har körts men innan bildruteskript har körts.DisplayObject
 InheritedSkickas när ett visningsobjekt ska tas bort från visningslistan.DisplayObject
 InheritedSkickas när ett visningsobjekt ska tas bort från visningslistan, antingen direkt eller genom borttagning av ett underträd som innehåller visningsobjektet.DisplayObject
 Inherited[utsändningshändelse] Skickas när visningslistan ska uppdateras och återges.DisplayObject
Egenskapsdetaljer

bitmapData

egenskap
bitmapData:BitmapData

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

BitmapData-objektet som refereras.



Implementering
    public function get bitmapData():BitmapData
    public function set bitmapData(value:BitmapData):void

pixelSnapping

egenskap 
pixelSnapping:String

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Avgör om Bitmap-objektet ska fästas mot närmsta pixel eller inte. PixelSnapping-klassen innefattar möjliga värden:

  • PixelSnapping.NEVER – Ingen pixelfästning sker.
  • PixelSnapping.ALWAYS – Bilden fästs alltid vid närmaste pixel, oavsett omformning.
  • PixelSnapping.AUTO – Bilden fästs vid närmaste pixel om den har ritats utan rotation eller skevning och med en skalfaktor på 99,9 till 100,1 %. Om dessa villkor är uppfyllda ritas bitmappsbilden i skalan 100 % och fästs vid närmaste pixel. Internt gör detta värde det möjligt att rita bilden så snabbt som möjligt med hjälp av vektorrenderaren.



Implementering
    public function get pixelSnapping():String
    public function set pixelSnapping(value:String):void

smoothing

egenskap 
smoothing:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Avgör om bitmappsbilden ska utjämnas när den skalas. Om true utjämnas bitmappsbilden när den skalas. Om false utjämnas bitmappsbilden inte när den skalas.



Implementering
    public function get smoothing():Boolean
    public function set smoothing(value:Boolean):void
Konstruktordetaljer

Bitmap

()Konstruktor
public function Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Initierar ett Bitmap-objekt som refererar till det angivna BitmapData-objektet.

Parametrar
bitmapData:BitmapData (default = null) — BitmapData-objektet som refereras.
 
pixelSnapping:String (default = "auto") — Om Bitmap-objektet ska fästas mot närmsta pixel eller inte.
 
smoothing:Boolean (default = false) — Om bitmappsbilden ska utjämnas när den skalas. De exempel som följer visar exempelvis samma bitmapp skalad med en faktor 3, med utjämning satt till false (vänster) respektive true (höger):

En bitmapp utan utjämning.En bitmapp med utjämning.


Exempel  ( Så här använder du exemplet )

Följande exempel visar hur du dynamiskt kan läsa in en bild vid körningstid med klassen ActionScript 3.0 Loader och sedan kopiera bildens pixlar till fyra separata bitmappsobjektinstanser i visningslistan med Loader-instansens innehållsegenskap och bitmapData-egenskaper. Exempel från ActionScriptExamples.com.
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);
}
BitmapExample.as

I exemplet nedan används BitmapDataExample-klassen för att ladda bild Image.gif till ett DisplayObject i standardpositionen (x = 0, y = 0). Det placerar en kopia av Image.gif till höger om originalet, med nya färger tillämpade för pixlar som klarar ett test med threshold()-metoden. Uppgiften genomförs med följande steg:
  1. En url-egenskap skapas bestående av bildfilens plats och namn
  2. Klasskonstruktorn anropar configureAssets()-metoden, som i sin tur anropar completeHandler()-metoden.
  3. configureAssets() skapar ett inläsningsobjekt, som instansierar en händelseavlyssnare som skickas när completeHandler() slutför bildmanipuleringen.
  4. Sedan skapar buildChild() en ny instans av ett URLRequest-objekt, request, med en överförd url så att filnamnet och platsen blir kända.
  5. Begäranobjektet skickas till loader.load()-metoden, som läser in bilden i minnet via ett visningsobjekt.
  6. Bilden läggs därefter in i visningslistan, som omedelbart visar bilden på skärmen i koordinaterna x = 0, y = 0.
  7. Sedan gör completeHandler()-metoden följande:
    1. Skapar ett andra Loader-objekt, tillsammans med ett Bitmap-objekt, som initieras med Loader-objektet.
    2. Skapar ett andra Bitmap-objekt, dublett, som i sin tur anropar duplicateImage()-metoden, som skapar en dubblett av originalbilden.
    3. Skapar ett BitmapData-objekt som tilldelas till duplicate-objektets BitmapData-objekt.
    4. Skapar ett nytt Rectangle-objekt, som initieras med samma koordinater, bredd och höjd som originalbilden.
    5. Skapar ett nytt Point-objekt, som har standardvärdena x = 0, y = 0.
    6. Skapar följande variabler:
      • operation: applicerar den nya färgen när tröskelvärdet är >= ursprungsvärdet.
      • threshold: det värde varje pixel jämförs med är satt till ljusgrått med ett alfavärde på 0xCC.
      • color: den färg de pixlar som klarar tröskeltestet ställts in på – i det här fallet kraftigt gult.
      • mask: satt till raka motsatsen till färg (genomskinligt blått).
      • copySource: satt till false, vilket anger att pixelvärdena inte kopieras om tröskelvärdet inte godkänns. Detta värde är betydelselöst eftersom bilden är dubblerad och endast de pixlar som klarar tröskeln ändras.
    7. Anropar threshold()-metoden med de föregående variablerna. Den resulterande tröskelekvationen ser ut så här: om (aktuellt pixelvärde & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) sätts pixeln till 0xFFFFFF00.

Anteckningar:

  • Du måste kompilera SWF-filen med "Lokal uppspelningssäkerhet" inställt på "Använd bara lokala filer".
  • I det här exemplet måste en fil med namnet Image.gif placeras i samma katalog som din SWF-fil.
  • Vi rekommenderar att du använder en bild med en bredd på upp till 80 pixlar.

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);
        }
    }
}




[ X ]Varför på engelska?
Innehåll i Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen är på engelska

Det är inte alla delar av Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen som översätts till alla språk. Om ett språkelement inte översätts visas det på engelska. Klassen ga.controls.HelpBox översätts till exempel inte till något språk. I den svenska versionen av referenshandboken visas därför klassen ga.controls.HelpBox på engelska.