Pakiet | flash.display |
Klasa | public class Bitmap |
Dziedziczenie | Bitmap DisplayObject EventDispatcher Object |
Podklasy | FlexBitmap |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bitmap()
.
Konstruktor Bitmap()
pozwala utworzyć obiekt Bitmap zawierający odwołanie do obiektu BitmapData. Po utworzeniu obiektu Bitmap należy zastosować metodę addChild()
lub addChildAt()
instancji nadrzędnej DisplayObjectContainer w celu umiejscowienia bitmapy na liście wyświetlania.
Obiekt Bitmap może dzielić swoje odwołanie do obiektu BitmapData pomiędzy kilka obiektów Bitmap, niezależnie od tłumaczenia lub właściwości obrotu. Ze względu na możliwość tworzenia wielu obiektów Bitmap, które odwołują się do tego samego obiektu BitmapData, wiele obiektów wyświetlanych może wykorzystać ten sam złożony obiekt BitmapData bez konieczności tworzenia pamięciochłonnego obiektu BitmapData dla każdej instancji obiektu wyświetlanego.
Obiekt BitmapData może być narysowany na ekranie przez obiekt Bitmap na dwa sposoby: jako figura wypełniona bitmapą poprzez wykorzystanie mechanizmu renderowania wektorowego albo za pomocą pomocy szybszej procedury kopiowania pikseli. Procedura kopiowania pikseli jest znacznie szybsza niż mechanizm renderowania wektorowego, jednak aby można ją było zastosować, obiekt Bitmap musi spełniać pewne warunki:
- Względem obiektu Bitmap nie może być zastosowane rozciąganie, obracanie ani pochylanie.
- Względem obiektu Bitmap nie może być zastosowana transformacja kolorów.
- Względem obiektu Bitmap nie może być zastosowane mieszanie.
- Nie jest możliwe przycinanie przez warstwy maski lub metody
setMask()
. - Sam obraz nie może być maską.
- Współrzędne docelowe muszą być na granicy pełnego piksela.
Jeżeli ładowany jest obiekt Bitmap z domeny innej niż ta, z której obiekt Loader skorzystał przy ładowaniu obrazu, oraz nie ma pliku reguł URL, która zezwala na dostęp do domeny obiektu Loader, wówczas skrypt w tej domenie nie może uzyskać dostępu do obiektu Bitmap lub jego właściwości i metod. Więcej informacji zawiera temat: Bezpieczeństwo w serwisie Flash Player Developer Center.
Uwaga: Klasa Bitmap nie jest podklasą klasy InteractiveObject, zatem nie może wywoływać zdarzeń myszy. Jednakże użytkownik może zastosować metodę addEventListener()
kontenera obiektów wyświetlanych, który zawiera obiekt Bitmap.
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
Bieżące opcje dostępności tego obiektu wyświetlanego. | DisplayObject | ||
alpha : Number
Wartość przezroczystości alfa określonego obiektu. | DisplayObject | ||
bitmapData : BitmapData
Obiekt BitmapData, do którego odwołuje się funkcja. | Bitmap | ||
blendMode : String
Wartość z klasy BlendMode określająca, jakiego trybu mieszania należy użyć. | DisplayObject | ||
blendShader : Shader [tylko do zapisu]
Ustawia moduł cieniujący, który jest używany do mieszania pierwszego planu oraz tła. | DisplayObject | ||
cacheAsBitmap : Boolean
Jeśli ustawiono wartość true, środowisko wykonawcze Flash buforuje wewnętrzną reprezentację bitmapy obiektu wyświetlanego. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
W przypadku wartości innej niż null ten obiekt Matrix definiuje sposób renderowania obiektu wyświetlanego, gdy cacheAsBitmap jest ustawione na true. | DisplayObject | ||
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
filters : Array
Indeksowana tablica zawierająca wszystkie filtry aktualnie skojarzone z obiektem wyświetlanym. | DisplayObject | ||
height : Number
Wysokość obiektu ekranowego w pikselach. | DisplayObject | ||
loaderInfo : LoaderInfo [tylko do odczytu]
Zwraca obiekt LoaderInfo zawierający informacje o ładowaniu pliku, do którego należy ten obiekt wyświetlany. | DisplayObject | ||
mask : DisplayObject
Wywoływany obiekt wyświetlany jest maskowany przez określony obiekt maski. | DisplayObject | ||
metaData : Object
Pobiera obiekt metadanych wystąpienia klasy DisplayObject, jeśli metadane są przechowywane razem z tym wystąpieniem klasy DisplayObject w pliku SWF, korzystając ze znacznika PlaceObject4. | DisplayObject | ||
mouseX : Number [tylko do odczytu]
Określa współrzędną x myszy lub urządzenia wejściowego użytkownika w pikselach. | DisplayObject | ||
mouseY : Number [tylko do odczytu]
Określa współrzędną y myszy lub urządzenia wejściowego użytkownika w pikselach. | DisplayObject | ||
name : String
Nazwa instancji obiektu DisplayObject. | DisplayObject | ||
opaqueBackground : Object
Określa, czy przy konkretnym kolorze tła obiekt wyświetlany jest nieprzejrzysty. | DisplayObject | ||
parent : DisplayObjectContainer [tylko do odczytu]
Odnosi się do obiektu DisplayObjectContainer, który zawiera obiekt wyświetlany. | DisplayObject | ||
pixelSnapping : String
Decyduje o tym, czy obiekt Bitmap jest przyciągany do najbliższego piksela. | Bitmap | ||
root : DisplayObject [tylko do odczytu]
Dla obiektu wyświetlanego w załadowanym pliku SWF główną właściwość stanowi obiekt wyświetlany na samym szczycie na liście wyświetlania w postaci struktury drzewa, którą reprezentuje plik SWF. | DisplayObject | ||
rotation : Number
Określa wielkość obrotu instancji obiektu DisplayObject (w kątach). | DisplayObject | ||
rotationX : Number
Wskazuje kąt obrotu (w stopniach) instancji DisplayObject wokół osi x — od pozycji początkowej względem nadrzędnego kontenera 3D. | DisplayObject | ||
rotationY : Number
Wskazuje kąt obrotu (w stopniach) instancji DisplayObject wokół osi y — od pozycji początkowej względem nadrzędnego kontenera 3D. | DisplayObject | ||
rotationZ : Number
Wskazuje kąt obrotu (w stopniach) instancji DisplayObject wokół osi z — od pozycji początkowej względem nadrzędnego kontenera 3D. | DisplayObject | ||
scale9Grid : Rectangle
Aktualnie stosowana siatka skalowania. | DisplayObject | ||
scaleX : Number
Wskazuje skalę poziomą (procent) obiektu względem punktu odniesienia. | DisplayObject | ||
scaleY : Number
Wskazuje skalę pionową (procent) obiektu względem punktu odniesienia. | DisplayObject | ||
scaleZ : Number
Wskazuje skalę głębokości (procent) obiektu względem punktu odniesienia. | DisplayObject | ||
scrollRect : Rectangle
Granice obszaru przewijania obiektu wyświetlanego. | DisplayObject | ||
smoothing : Boolean
Decyduje o tym, czy podczas skalowania bitmapa jest wygładzana. | Bitmap | ||
stage : Stage [tylko do odczytu]
Stół montażowy obiektu wyświetlanego. | DisplayObject | ||
transform : flash.geom:Transform
Obiekt z właściwościami dotyczącymi matrycy obiektu wyświetlanego, transformacji kolorów oraz granic pikseli. | DisplayObject | ||
visible : Boolean
Decyduje, czy obiekt wyświetlany jest widoczny, czy nie. | DisplayObject | ||
width : Number
Szerokość obiektu ekranowego w pikselach. | DisplayObject | ||
x : Number
Oznacza współrzędną x instancji obiektu DisplayObject w lokalnym układzie współrzędnych nadrzędnego obiektu DisplayObjectContainer. | DisplayObject | ||
y : Number
Oznacza współrzędną y instancji obiektu DisplayObject w lokalnym układzie współrzędnych nadrzędnego obiektu DisplayObjectContainer. | DisplayObject | ||
z : Number
Wskazuje współrzędną wzdłuż osi Z instancji DisplayObject względem nadrzędnego kontenera 3D. | DisplayObject |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Inicjuje obiekt Bitmap odwołujący się do określonego obiektu BitmapData. | Bitmap | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu. | EventDispatcher | ||
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń. | EventDispatcher | ||
Zwraca prostokąt definiujący obszar obiektu wyświetlanego (w układzie współrzędnych obiektu targetCoordinateSpace). | DisplayObject | ||
Zwraca prostokąt definiujący granice obiektu wyświetlanego w układzie współrzędnych określonych przez parametr targetCoordinateSpace (z wyłączeniem konturów kształtów). | DisplayObject | ||
Konwertuje obiekt punktowy ze współrzędnych obiektu Stage (globalne) do współrzędnych obiektu wyświetlanego (lokalne). | DisplayObject | ||
Konwertuje punkt dwuwymiarowy ze współrzędnych stołu wymiarowego (globalnych) na współrzędne trójwymiarowego obiektu wyświetlanego (lokalne). | DisplayObject | ||
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń. | EventDispatcher | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wyznacza prostokąt ograniczający obiekt wyświetlany w celu sprawdzenia, czy zachodzi on lub przecina się z prostokątem ograniczającym obiektu wyświetlanego obj. | DisplayObject | ||
Analizuje obiekt wyświetlany w celu ustalenia czy nakłada się on lub przecina punkt określony przez parametry x i y. | DisplayObject | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Konwertuje punkt trójwymiarowy trójwymiarowego obiektu wyświetlanego (lokalnego) na punkt dwuwymiarowy we współrzędnych stołu montażowego (globalnych). | DisplayObject | ||
Konwertuje obiekt punktowy ze współrzędnych obiektu wyświetlanego (lokalne) do współrzędnych obiektu Stage (globalne). | DisplayObject | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Usuwa detektor z obiektu EventDispatcher. | EventDispatcher | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object | ||
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych. | EventDispatcher |
bitmapData | właściwość |
bitmapData:BitmapData
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Obiekt BitmapData, do którego odwołuje się funkcja.
Implementacja
public function get bitmapData():BitmapData
public function set bitmapData(value:BitmapData):void
pixelSnapping | właściwość |
pixelSnapping:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Decyduje o tym, czy obiekt Bitmap jest przyciągany do najbliższego piksela. Klasa PixelSnapping zawiera następujące możliwe wartości:
PixelSnapping.NEVER
—Nie występuje przyciąganie pikseli.PixelSnapping.ALWAYS
—Obraz zawsze jest przyciągany do najbliższego pikseli, bez względu na transformację.PixelSnapping.AUTO
—Obraz jest przyciągany do najbliższego piksela, jeżeli jest rysowany bez obrotu lub pochylenia oraz przy współczynniku skali od 99.9% do 100.1%. Przy spełnieniu tych warunków obraz bitmapowy jest rysowany w skali 100%, przyciągany do najbliższego piksela. Wewnętrznie ta wartość zezwala na rysowanie obrazu tak szybko, jak jest to możliwe przy wykorzystaniu mechanizmu renderowania wektorów.
Implementacja
public function get pixelSnapping():String
public function set pixelSnapping(value:String):void
smoothing | właściwość |
smoothing:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Decyduje o tym, czy podczas skalowania bitmapa jest wygładzana. Jeżeli wartość true
, wówczas bitmapa jest wygładzana przy skalowaniu. Jeżeli wartość false
, wówczas bitmapa nie jest wygładzana przy skalowaniu.
Implementacja
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)
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Inicjuje obiekt Bitmap odwołujący się do określonego obiektu BitmapData.
ParametrybitmapData:BitmapData (default = null ) — Obiekt BitmapData, do którego odwołuje się funkcja.
| |||
pixelSnapping:String (default = "auto ") — Określa, czy obiekt Bitmap jest przyciągany do najbliższego piksela, czy też nie.
| |||
smoothing:Boolean (default = false ) — Określa, czy bitmapa jest wygładzana w trakcie skalowania, czy też nie. Poniższe przykłady ilustrują wygląd bitmapy skalowanej przy współczynniku równym 3, z właściwością smoothing ustawioną na wartość false (lewo) oraztrue (prawo):
|
Przykład ( Sposób korzystania z tego przykładu )
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()
. Zadanie to jest przeprowadzane poprzez wykorzystanie następujących kroków:
- Tworzona jest właściwość
url
, która jest miejscem położenia oraz nazwą pliku obrazu. - Klasa konstruktora wywołuje metodę
configureAssets()
, która z kolei wywołuje metodęcompleteHandler()
. - Metoda
configureAssets()
tworzy obiekt Loader, który z kolei tworzy instancję detektora zdarzeń, zaś ten jest wywoływany gdy metodacompleteHandler()
zakończy manipulację obrazu. - Następnie metoda
buildChild()
tworzy nową instancję obiektu URLRequestrequest
z przekazaną właściwościąurl
, aby nazwa pliku i lokacja były znane. - Obiekt
request
jest przekazywany do metodyloader.load()
, która ładuje obraz do pamięci poprzez obiekt wyświetlania. - Obraz jest wówczas umieszczany na liście wyświetlania, która prędko wyświetla obraz na ekranie na współrzędnych x = 0, y = 0.
- Metoda
completeHandler()
przeprowadza wówczas następujące zadania:- Tworzy drugi obiekt Loader, wraz z obiektem Bitmap, który jest inicjalizowany z obiektem Loader.
- Tworzy dugi obiekt Bitmap
duplicate
, który z kolei wywołuje metodęduplicateImage()
, tworzącą duplikat oryginalnego obrazu. - Tworzy obiekt BitmapData, który jest powiązany z obiektem
duplicate
obiektu BitmapData. - Tworzy nowy obiekt Rectangle inicjalizowany z tymi samymi współrzędnymi, szerokością i wysokością jak obraz oryginalny.
- Tworzy nowy obiekt Point, którego współrzędne domyślne to x = 0, y = 0.
- Tworzy następujące zmienne:
operation
: stosuje nowy kolor gdy wartość progowa jest >= w porównaniu do oryginału.threshold
: wartość wobec której każdy piksel jest porównywany jest ustawiona na kolor jasno szary z wartością alpha 0xCC.color
: kolor, na który zostaną ustawione piksele które zostały pozytywnie zweryfikowane przy teście progowym; w tym wypadku jest to jednolity kolor żółty.mask
: ustawiona na kolor dokładnie przeciwny (przezroczysty kolor niebieski).copySource
: ustawiona na wartość false, wskazuje, iż wartości pikseli nie są kopiowane w przypadku, gdy wartość progowa nie zostanie zweryfikowana pozytywnie. Ta wartość nie ma znaczenia, ponieważ obraz jest zduplikowany i wyłącznie piksele, które zostały pozytywnie zweryfikowane w teście progowym, są zmieniane.
- Wywołuje metodę
threshold()
poprzez wykorzystanie powyższych zmiennych. Końcowe równanie progowe wygląda następująco:jeżeli (obecna wartość pikseli & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) wówczas ustaw wartość pikseli na 0xFFFFFF00
.
Uwagi:
- Należy skompilować plik SWF z opcją „Bezpieczeństwo odtwarzania lokalnego” ustawioną na wartość „Tylko pliki dostępne lokalnie”.
- Dla zilustrowania tego przykładu konieczne jest umieszczenie pliku o nazwie Image.gif w tym samym katalogu, co plik SWF.
- Zalecane jest wykorzystanie obrazu o szerokości do 80 pikseli.
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, 12:06 PM Z