Paket | flash.display |
Klass | public class Bitmap |
Arv | Bitmap DisplayObject EventDispatcher Object |
Underklasser | FlexBitmap |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
De nuvarande hjälpmedelsalternativen för det här visningsobjektet. | DisplayObject | ||
alpha : Number
Anger det angivna objektets alfagenomskinlighetsvärde. | DisplayObject | ||
bitmapData : BitmapData
BitmapData-objektet som refereras. | Bitmap | ||
blendMode : String
Ett värde från klassen BlendMode som anger vilket blandningsläge som ska användas. | DisplayObject | ||
blendShader : Shader [lässkyddad]
Ställer in en skuggning som används för blandning av förgrund och bakgrund. | DisplayObject | ||
cacheAsBitmap : Boolean
Om det är true, sparar Flash-miljöerna en intern bitmappsrepresentation av visningsobjektet i cache-minnet. | DisplayObject | ||
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 | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
filters : Array
En indexerad array som innehåller varje filterobjekt som är associerat med visningsobjektet. | DisplayObject | ||
height : Number
Anger visningsobjektets höjd i pixlar. | DisplayObject | ||
loaderInfo : LoaderInfo [skrivskyddad]
Returnerar ett LoaderInfo-objekt som innehåller information om hur filen som visningsobjektet tillhör ska läsas in. | DisplayObject | ||
mask : DisplayObject
Det anropande visningsobjektet maskeras av det angivna visningsobjektet. | DisplayObject | ||
metaData : 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 | ||
mouseX : Number [skrivskyddad]
Anger x-koordinaten för musens eller användarens indataenhets position i pixlar. | DisplayObject | ||
mouseY : Number [skrivskyddad]
Anger y-koordinaten för musens eller användarens indataenhets position i pixlar. | DisplayObject | ||
name : String
Anger instansnamnet för DisplayObject. | DisplayObject | ||
opaqueBackground : Object
Anger om visningsobjektet är ogenomskinligt med en viss bakgrundsfärg. | DisplayObject | ||
parent : 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 | ||
root : 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 | ||
rotation : Number
Anger DisplayObject-instansens rotation i grader från den ursprungliga orienteringen. | DisplayObject | ||
rotationX : 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 | ||
rotationY : 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 | ||
rotationZ : 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 | ||
scale9Grid : Rectangle
Det skalningsrutnät som används för närvarande. | DisplayObject | ||
scaleX : Number
Anger vågrät skala (i procent) för objektet utifrån dess registreringspunkt. | DisplayObject | ||
scaleY : Number
Anger lodrät skala (i procent) för objektet utifrån dess registreringspunkt. | DisplayObject | ||
scaleZ : Number
Anger djupskala (procent) för objektet utifrån dess registreringspunkt. | DisplayObject | ||
scrollRect : Rectangle
Visningsobjektets gränser för rullningsrektangeln. | DisplayObject | ||
smoothing : Boolean
Avgör om bitmappsbilden ska utjämnas när den skalas. | Bitmap | ||
stage : Stage [skrivskyddad]
Visningsobjektets scen. | DisplayObject | ||
transform : flash.geom:Transform
Ett objekt med egenskaper som gäller ett visningsobjekts matris, färgomformning och pixelgränser. | DisplayObject | ||
visible : Boolean
Om visingsobjektet är synligt eller inte. | DisplayObject | ||
width : Number
Anger visningsobjektets bredd i pixlar. | DisplayObject | ||
x : Number
Anger x-koordinaten för DisplayObject-instansen i förhållande till de lokala koordinaterna för den överordnade DisplayObjectContainer. | DisplayObject | ||
y : Number
Anger y-koordinaten för DisplayObject-instansen i förhållande till de lokala koordinaterna för den överordnade DisplayObjectContainer. | DisplayObject | ||
z : Number
Anger z-koordinatens position längs DisplayObject-instansens z-axel i förhållande till den överordnade 3D-behållaren. | DisplayObject |
Metod | Definieras med | ||
---|---|---|---|
Initierar ett Bitmap-objekt som refererar till det angivna BitmapData-objektet. | Bitmap | ||
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 | ||
Skickar en händelse till händelseflödet. | EventDispatcher | ||
Returnerar en rektangel som definierar visningsområdets område i relation till targetCoordinateSpace-objektets koordinatsystem. | DisplayObject | ||
Returnerar en rektangel som definierar visningsområdets gräns, baserat på koordinatsystemet som definieras av targetCoordinateSpace-parametern, exklusive eventuella linjer i former. | DisplayObject | ||
Konverterar punktobjektet från scenens (globala) koordinater till visningsobjektets (lokala) koordinater. | DisplayObject | ||
Konverterar en tvådimensionell punkt från scenens (globala) koordinater till ett tredimensionellt visningsobjekts (lokala) koordinater. | DisplayObject | ||
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse. | EventDispatcher | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Utvärderar begränsningsramen för visningsobjektet för att kontrollera om den överlappar eller korsar begränsningsramen för obj-visningsobjektet. | DisplayObject | ||
Utvärderar visningsobjektet för att avgöra om det överlappar eller korsar den punkt som anges av x- och y-parametrarna. | DisplayObject | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Konverterar en tredimensionell punkt för det tredimensionella visningsobjektets (lokala) koordinater till en tvådimensionell punkt i scenens (globala) koordinater. | DisplayObject | ||
Konverterar punktobjektet från visningsobjektets (lokala) koordinater till scenens (globala) koordinater. | DisplayObject | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Tar bort en avlyssnare från EventDispatcher-objektet. | EventDispatcher | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object | ||
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 |
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
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.
ParametrarbitmapData: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):
|
Exempel ( Så här använder du exemplet )
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()
-metoden. Uppgiften genomförs med följande steg:
- En
url
-egenskap skapas bestående av bildfilens plats och namn - Klasskonstruktorn anropar
configureAssets()
-metoden, som i sin tur anroparcompleteHandler()
-metoden. configureAssets()
skapar ett inläsningsobjekt, som instansierar en händelseavlyssnare som skickas närcompleteHandler()
slutför bildmanipuleringen.- Sedan skapar
buildChild()
en ny instans av ett URLRequest-objekt,request
, med en överfördurl
så att filnamnet och platsen blir kända. Begäranobjektet
skickas tillloader.load()
-metoden, som läser in bilden i minnet via ett visningsobjekt.- Bilden läggs därefter in i visningslistan, som omedelbart visar bilden på skärmen i koordinaterna x = 0, y = 0.
- Sedan gör
completeHandler()
-metoden följande:- Skapar ett andra Loader-objekt, tillsammans med ett Bitmap-objekt, som initieras med Loader-objektet.
- Skapar ett andra Bitmap-objekt,
dublett
, som i sin tur anroparduplicateImage()
-metoden, som skapar en dubblett av originalbilden. - Skapar ett BitmapData-objekt som tilldelas till
duplicate
-objektets BitmapData-objekt. - Skapar ett nytt Rectangle-objekt, som initieras med samma koordinater, bredd och höjd som originalbilden.
- Skapar ett nytt Point-objekt, som har standardvärdena x = 0, y = 0.
- 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.
- 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); } } }
Tue Jun 12 2018, 01:40 PM Z