Pakket | flash.display |
Klasse | public class Bitmap |
Overerving | Bitmap DisplayObject EventDispatcher Object |
Subklassen | FlexBitmap |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bitmap()
.
Met de constructor Bitmap()
kunt u een object Bitmap maken dat een verwijzing naar een object BitmapData bevat. Wanneer u een object Bitmap hebt gemaakt, gebruikt u de methode addChild()
of addChildAt()
van de bovenliggende instantie DisplayObjectContainer om de bitmap in het weergaveoverzicht op te nemen.
Een object Bitmap kan de BitmapData-verwijzing delen met verscheidene objecten Bitmap, ongeacht translatie- of rotatie-eigenschappen. Omdat u meerdere objecten Bitmap kunt maken die naar hetzelfde object BitmapData verwijzen, kunnen meerdere weergaveobjecten hetzelfde complexe object BitmapData gebruiken zonder de geheugenoverhead van een object BitmapData voor elke instantie van een weergaveobject.
Een object BitmapData kan op twee manieren op het scherm worden getekend door een object Bitmap: door de vectorrendermodule te gebruiken als een vorm met bitmapvulling of door een snellere routine voor het kopiëren van pixels te gebruiken. De routine voor het kopiëren van pixels is aanzienlijk sneller dan de vectorrendermodule, maar het object Bitmap moet aan bepaalde voorwaarden voldoen om deze te kunnen gebruiken:
- Het object Bitmap kan niet worden uitgerekt, geroteerd of scheefgetrokken.
- Er kan geen kleurtransformatie op het object Bitmap worden toegepast.
- Er kan geen overvloeimodus op het object Bitmap worden toegepast.
- Maskeerlagen en de methoden
setMask()
kunnen niet worden gebruikt voor uitknippen. - De afbeelding zelf kan geen masker zijn.
- De doelcoördinaten moeten zich op een volledige pixelgrens bevinden.
Wanneer u een Bitmap-object uit een ander domein laadt dan het domein dat door het Loader-object is gebruikt om de afbeelding te laden en er geen bestand met URL-beleid is dat toegang tot het domein van het Loader-object toestaat, heeft een script in dat domein geen toegang tot het Bitmap-object of de eigenschappen en methoden van dat object. Lees voor meer informatie het onderwerp Security in het Flash Player Developer Center.
Opmerking: de klasse Bitmap is geen subklasse van de klasse InteractiveObject, zodat deze geen muisgebeurtenissen kan verzenden. U kunt de methode addEventListener()
van de weergaveobjectcontainer met het object Bitmap wel gebruiken.
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
De huidige toegankelijkheidsopties voor dit weergaveobject. | DisplayObject | ||
alpha : Number
Geeft de alpha-transparantiewaarde van het opgegeven object aan. | DisplayObject | ||
bitmapData : BitmapData
Het object BitmapData waarnaar wordt verwezen. | Bitmap | ||
blendMode : String
Een waarde uit de klasse BlendMode die opgeeft welke overvloeimodus moet worden gebruikt. | DisplayObject | ||
blendShader : Shader [alleen-schrijven]
Stelt de arcering in die moet worden gebruikt om voor- en achtergrond in elkaar te laten overvloeien. | DisplayObject | ||
cacheAsBitmap : Boolean
Indien ingesteld op true, plaatsen Flash-runtimes een interne bitmaprepresentatie van het weergaveobject in cache. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Als dit Matrix-object niet null is, definieert het hoe een weergaveobject wordt gerenderd als cacheAsBitmap wordt ingesteld op true. | DisplayObject | ||
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
filters : Array
Een geïndexeerde array die elk filterobject bevat dat momenteel is gekoppeld aan het weergaveobject. | DisplayObject | ||
height : Number
Geeft de hoogte van het weergaveobject aan, in pixels. | DisplayObject | ||
loaderInfo : LoaderInfo [alleen-lezen]
Retourneert een object LoaderInfo dat informatie bevat over het laden van het bestand waartoe dit weergaveobject behoort. | DisplayObject | ||
mask : DisplayObject
Het aanroepende weergaveobject wordt gemaskeerd door het opgegeven object mask. | DisplayObject | ||
metaData : Object
Krijgt het metagegevensobject van de DisplayObject-instantie als de metagegevens zijn opgeslagen naast de instantie van dit DisplayObject in het SWF-bestand door een PlaceObject4-markering. | DisplayObject | ||
mouseX : Number [alleen-lezen]
Geeft de x-coördinaat van de apparaatpositie van de muis of de gebruikersinvoer aan in pixels. | DisplayObject | ||
mouseY : Number [alleen-lezen]
Geeft de y-coördinaat van de apparaatpositie van de muis of de gebruikersinvoer aan in pixels. | DisplayObject | ||
name : String
Geeft de instantienaam van het DisplayObject aan. | DisplayObject | ||
opaqueBackground : Object
Geeft op of het weergaveobject dekkend is met een bepaalde achtergrondkleur. | DisplayObject | ||
parent : DisplayObjectContainer [alleen-lezen]
Geeft het object DisplayObjectContainer aan dat dit weergaveobject bevat. | DisplayObject | ||
pixelSnapping : String
Bepaalt of het object Bitmap wordt uitgelijnd naar de dichtstbijzijnde pixel. | Bitmap | ||
root : DisplayObject [alleen-lezen]
Voor een weergaveobject in een geladen SWF-bestand is de eigenschap root het bovenste weergaveobject in het gedeelte van de boomstructuur van het weergaveoverzicht dat wordt vertegenwoordigd door dat SWF-bestand. | DisplayObject | ||
rotation : Number
Geeft de rotatie van de instantie DisplayObject vanaf de oorspronkelijke oriëntatie (in graden) aan. | DisplayObject | ||
rotationX : Number
Geeft in graden de X-asrotatie van de DisplayObject-instantie aan ten opzichte van de 3D parent-container. | DisplayObject | ||
rotationY : Number
Geeft in graden de y-asrotatie van de DisplayObject-instantie aan ten opzichte van de 3D parent-container. | DisplayObject | ||
rotationZ : Number
Geeft in graden de z-asrotatie van de DisplayObject-instantie aan ten opzichte van de 3D parent-container. | DisplayObject | ||
scale9Grid : Rectangle
Het huidige schaalraster dat wordt gebruikt. | DisplayObject | ||
scaleX : Number
Bepaalt de horizontale schaal (percentage) van het object zoals deze wordt toegepast vanuit het registratiepunt. | DisplayObject | ||
scaleY : Number
Bepaalt de verticale schaal (percentage) van een object zoals deze wordt toegepast vanuit het registratiepunt van het object. | DisplayObject | ||
scaleZ : Number
Bepaalt de diepteschaal (percentage) van een object zoals deze wordt toegepast vanuit het registratiepunt van het object. | DisplayObject | ||
scrollRect : Rectangle
De verschuivende rechthoekgrenzen van het weergaveobject. | DisplayObject | ||
smoothing : Boolean
Bepaalt of de bitmap vloeiend wordt gemaakt wanneer deze wordt geschaald. | Bitmap | ||
stage : Stage [alleen-lezen]
Het werkgebied van het weergaveobject. | DisplayObject | ||
transform : flash.geom:Transform
Een object met eigenschappen die betrekking hebben op de matrix van een weergaveobject, de kleurtransformatie en de pixelbeperkingen. | DisplayObject | ||
visible : Boolean
Bepaalt of het weergaveobject zichtbaar is. | DisplayObject | ||
width : Number
Geeft de breedte van het weergaveobject aan, in pixels. | DisplayObject | ||
x : Number
Bepaalt de x-coördinaat van de instantie DisplayObject ten opzichte van de lokale coördinaten van de bovenliggende DisplayObjectContainer. | DisplayObject | ||
y : Number
Bepaalt de y-coördinaat van de instantie DisplayObject ten opzichte van de lokale coördinaten van de bovenliggende DisplayObjectContainer. | DisplayObject | ||
z : Number
Geeft de z-coördinaatpositie langs de z-as van de DisplayObject-instantie aan ten opzichte van de bovenliggende 3D-container. | DisplayObject |
Methode | Gedefinieerd door | ||
---|---|---|---|
Initialiseert een object Bitmap om te verwijzen naar het opgegeven object BitmapData. | Bitmap | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registreert een gebeurtenislistenerobject bij een object EventDispatcher, zodat de listener een melding van een gebeurtenis ontvangt. | EventDispatcher | ||
Verzendt een gebeurtenis naar de gebeurtenisstroom. | EventDispatcher | ||
Retourneert een rechthoek die het gebied van het weergaveobject aangeeft ten opzichte van het coördinatensysteem van het object targetCoordinateSpace. | DisplayObject | ||
Retourneert een rechthoek die de grens van het weergaveobject aangeeft op basis van het coördinatensysteem dat wordt gedefinieerd door de paramater targetCoordinateSpace, minus enige streken op vormen. | DisplayObject | ||
Hiermee worden de (algemene) werkgebiedcoördinaten van het object point omgezet in (lokale) objectcoördinaten. | DisplayObject | ||
Converteert een tweedimensionaal punt van de (algemene) werkruimtecoördinaten naar (lokale) coördinaten van een driedimensionaal weergaveobject. | DisplayObject | ||
Controleert of het object EventDispatcher listeners heeft geregistreerd voor een specifiek type gebeurtenis. | EventDispatcher | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Evalueert het selectiekader van het weergaveobject om te zien of dit het selectiekader van het weergaveobject obj overlapt of snijdt. | DisplayObject | ||
Hiermee wordt het weergaveobject geëvalueerd om te zien of deze een punt dat is opgegeven door de parameters x en y, overlapt of doorsnijdt. | DisplayObject | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Converteert een driedimensionaal punt van de (lokale) coördinaten van het driedimensionale weergaveobject naar een tweedimensionaal punt in de (algemene) werkruimtecoördinaten. | DisplayObject | ||
Hiermee worden de (lokale) weergaveobjectcoördinaten van het object point omgezet in (algemene) werkgebiedcoördinaten. | DisplayObject | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Verwijdert een listener uit het object EventDispatcher. | EventDispatcher | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object | ||
Controleert of een gebeurtenislistener is geregistreerd bij dit object EventDispatcher of een van de voorouders voor het opgegeven type gebeurtenis. | EventDispatcher |
bitmapData | eigenschap |
bitmapData:BitmapData
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Het object BitmapData waarnaar wordt verwezen.
Implementatie
public function get bitmapData():BitmapData
public function set bitmapData(value:BitmapData):void
pixelSnapping | eigenschap |
pixelSnapping:String
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bepaalt of het object Bitmap wordt uitgelijnd naar de dichtstbijzijnde pixel. De klasse PixelSnapping bevat mogelijke waarden:
PixelSnapping.NEVER
— Er vindt geen magnetische pixeluitlijning plaats.PixelSnapping.ALWAYS
— De afbeelding wordt altijd uitgelijnd naar de dichtstbijzijnde pixel, onafhankelijk van transformatie.PixelSnapping.AUTO
— De afbeelding wordt uitgelijnd naar de dichtstbijzijnde pixel wanneer deze is getekend zonder rotatie of helling en wanneer deze is getekend met een schaalfactor van 99,9% tot en met 100,1%. Wanneer aan deze voorwaarden wordt voldaan, wordt de bitmapafbeelding getekend op een schaal van 100% en uitgelijnd naar de dichtstbijzijnde pixel. Met deze waarde kan intern de afbeelding zo snel mogelijk worden getekend met de vectorrendermodule.
Implementatie
public function get pixelSnapping():String
public function set pixelSnapping(value:String):void
smoothing | eigenschap |
smoothing:Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bepaalt of de bitmap vloeiend wordt gemaakt wanneer deze wordt geschaald. Indien true
, bitmap wordt vloeiend gemaakt wanneer deze wordt geschaald. Indien false
, bitmap wordt niet vloeiend gemaakt wanneer deze wordt geschaald.
Implementatie
public function get smoothing():Boolean
public function set smoothing(value:Boolean):void
Bitmap | () | Constructor |
public function Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Initialiseert een object Bitmap om te verwijzen naar het opgegeven object BitmapData.
ParametersbitmapData:BitmapData (default = null ) — Het object BitmapData waarnaar wordt verwezen.
| |||
pixelSnapping:String (default = "auto ") — Bepaalt of het object Bitmap wordt uitgelijnd naar de dichtstbijzijnde pixel.
| |||
smoothing:Boolean (default = false ) — Bepaalt of de bitmap vloeiend wordt gemaakt wanneer deze wordt geschaald. In de volgende voorbeelden wordt bijvoorbeeld aangegeven hoe dezelfde bitmap met factor 3 wordt geschaald wanneer smoothing is ingesteld op false (links) en true (rechts):
|
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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()
doorstaan. Deze taak wordt uitgevoerd door de volgende stappen uit te voeren:
- De eigenschap
url
, de locatie en naam van het afbeeldingsbestand, wordt gemaakt. - De klasseconstructor roept de methode
configureAssets()
aan en deze methode roept de methodecompleteHandler()
aan. configureAssets()
maakt een object Loader dat een gebeurtenislistener instantieert die wordt verzonden wanneer de methodecompleteHandler()
de beeldbewerking voltooit.- Vervolgens wordt met de methode
buildChild()
een nieuwe instantie van het URLRequest-objectrequest
gemaakt waarbijurl
is doorgegeven zodat de bestandsnaam en -locatie bekend zijn. - Het object
request
wordt vervolgens doorgegeven aan de methodeloader.load()
waarmee de afbeelding via een weergaveobject in het geheugen wordt geladen. - De afbeelding wordt opgenomen in het weergaveoverzicht waar de afbeelding direct op de coördinaten x = 0, y = 0 op het scherm wordt weergegeven.
- Met de methode
completeHandler()
worden vervolgens de volgende taken uitgevoerd:- Naast een object Bitmap wordt een tweede object Loader gemaakt dat met het object Loader wordt geïnitialiseerd.
- Er wordt een tweede object Bitmap,
duplicate
, gemaakt waarmee de methodeduplicateImage()
wordt aangeroepen om een kopie van de oorspronkelijke afbeelding te maken. - Er wordt een object BitmapData gemaakt dat aan het object BitmapData van het object
duplicate
wordt toegewezen. - Er wordt een nieuw object Rectangle met dezelfde coördinaten, breedte en hoogte als de oorspronkelijke afbeelding gemaakt.
- Er wordt een nieuw object Point met de standaardcoördinaten x = 0, y = 0 gemaakt.
- De volgende variabelen worden gemaakt:
operation
: past de nieuwe kleur toe wanneer de drempelwaarde groter dan of gelijk is aan de oorspronkelijke waarde.threshold
: de waarde op basis waarvan elke pixel wordt vergeleken, wordt ingesteld op lichtgrijs met een alpha van 0xCC.color
: de kleur waarop de pixels worden ingesteld die de drempeltest doorstaan, in dit geval effen geel.mask
: wordt ingesteld op de tegenovergestelde kleur (transparant blauw).copySource
: deze variabele is op false ingesteld om aan te geven dat de pixelwaarden niet worden gekopieerd wanneer de drempelwaarde niet wordt gehaald. Deze waarde heeft geen betekenis omdat de afbeelding wordt gedupliceerd en alleen pixels die de drempelwaarde halen, worden gewijzigd.
- Roept de methode
threshold()
aan met de voorgaande variabelen. Voor de resulterende drempelwaarde wordt de volgende vergelijking gebruikt:wanneer (huidige pixelwaarde & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF), worden pixels op 0xFFFFFF00
ingesteld.
Opmerkingen:
- U moet het SWF-bestand compileren met Lokale afspeelbeveiliging ingesteld op Alleen lokale bestanden benaderen.
- U kunt dit voorbeeld alleen uitvoeren wanneer het bestand Image.gif zich in dezelfde map bevindt als uw SWF-bestand.
- U kunt het beste een afbeelding van maximaal 80 pixels breed gebruiken.
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); } } }
Wed Jun 13 2018, 11:42 AM Z