Pacote | flash.display |
Classe | public class Bitmap |
Herança | Bitmap DisplayObject EventDispatcher Object |
Subclasses | FlexBitmap |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bitmap()
.
O construtor Bitmap()
permite criar um objeto Bitmap contendo uma referência a um objeto BitmapData. Após a criação de um objeto Bitmap, use o método addChild()
ou addChildAt()
da ocorrência-pai DisplayObjectContainer para inserir o bitmap no texto de exibição.
Um objeto Bitmap pode compartilhar sua referência BitmapData entre vários objetos Bitmap, independentemente das propriedades de conversão ou giro. Como você pode criar vários objetos Bitmap que fazem referência ao mesmo objeto BitmapData, diversos objetos de exibição podem usar o mesmo objeto BitmapData complexo sem resultar na sobrecarga da memória de um objeto BitmapData para cada ocorrência do objeto de exibição.
Um objeto BitmapData pode ser traçado na tela por um objeto Bitmap de uma destas duas maneiras: usando o renderizador de vetores como uma forma bitmap de preenchimento ou usando uma rotina de cópia de pixels mais rápida. A rotina de cópia de pixels é substancialmente mais rápida do que o renderizador de vetores, mas o objeto Bitmap deve atender a certas condições para usá-la:
- Nenhum estiramento, giro ou inclinação pode ser aplicado ao objeto Bitmap.
- Nenhuma transformação de cor pode ser aplicada ao objeto Bitmap.
- Nenhum modo de mesclagem pode ser aplicado ao objeto Bitmap.
- Nenhum corte pode ser feito através de camadas de máscara ou de métodos
setMask()
. - A imagem propriamente dita não pode ser uma máscara.
- As coordenadas de destino devem estar em um limite inteiro de pixels.
Se você carregar um objeto Bitmap a partir de um domínio diferente daquele do objeto Loader usado para carregar a imagem e não houver um arquivo de diretivas de URL que permita acesso ao domínio do objeto Loader, um script desse domínio não poderá acessar o objeto Bitmap ou suas propriedades e métodos. Para obter mais informações, consulte o tópico do Centro de desenvolvedores do Flash Player: Security.
Observação: A classe Bitmap não é subclasse da classe InteractiveObject e, portanto, não pode despachar eventos de mouse. Entretanto, você pode usar o método addEventListener()
do contêiner do objeto de exibição que contém o objeto Bitmap.
Elementos da API relacionados
Propriedade | Definido por | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
As opções de acessibilidade atuais para este objeto de exibição. | DisplayObject | ||
alpha : Number
Indica o valor de transparência alfa do objeto especificado. | DisplayObject | ||
bitmapData : BitmapData
O objeto BitmapData que está sendo referenciado. | Bitmap | ||
blendMode : String
Um valor a partir da classe BlendMode que especifica o modo de mesclagem a ser usado. | DisplayObject | ||
blendShader : Shader [somente gravação]
Define um shader usado para mesclar o primeiro plano e o segundo plano. | DisplayObject | ||
cacheAsBitmap : Boolean
Se definido como true, tempo de execução do Flash armazenará em cachê uma representação interna em bitmap do objeto de exibição. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Se não nulo, este objeto Matrix definirá como um objeto exibição será renderizado quando cacheAsBitmap for definido como verdadeiro. | DisplayObject | ||
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
filters : Array
Uma matriz indexada que contém cada objeto de filtro atualmente associado ao objeto de exibição. | DisplayObject | ||
height : Number
Indica a altura do objeto de exibição, em pixels. | DisplayObject | ||
loaderInfo : LoaderInfo [somente leitura]
Retorna um objeto LoaderInfo contendo informações sobre o carregamento do arquivo ao qual esse objeto de exibição pertence. | DisplayObject | ||
mask : DisplayObject
O objeto de exibição de chamada é mascarado pelo objeto "mask" especificado. | DisplayObject | ||
metaData : Object
Obtém o objeto de metadados da instância DisplayObject se os metadados forem armazenados juntamente com a instância desse DisplayObject no arquivo SWF por uma marca PlaceObject4. | DisplayObject | ||
mouseX : Number [somente leitura]
Indica a coordenada x da posição do dispositivo do mouse ou de entrada do usuário, em pixels. | DisplayObject | ||
mouseY : Number [somente leitura]
Indica a coordenada y da posição do dispositivo do mouse ou de entrada do usuário, em pixels. | DisplayObject | ||
name : String
Indica o nome da ocorrência de DisplayObject. | DisplayObject | ||
opaqueBackground : Object
Especifica se o objeto de exibição é opaco com uma certa cor de plano de fundo. | DisplayObject | ||
parent : DisplayObjectContainer [somente leitura]
Indica o objeto DisplayObjectContainer que contém esse objeto de exibição. | DisplayObject | ||
pixelSnapping : String
Controla se o objeto Bitmap é ou não encaixado no pixel mais próximo. | Bitmap | ||
root : DisplayObject [somente leitura]
Para um objeto de exibição em um arquivo SWF carregado, a propriedade "root" é o objeto de exibição na extremidade superior, na parte da estrutura em árvore da lista de exibição representada por esse arquivo SWF. | DisplayObject | ||
rotation : Number
Indica o giro da ocorrência de DisplayObject, em graus, a partir da sua orientação original. | DisplayObject | ||
rotationX : Number
Indica a rotação do eixo x da ocorrência DisplayObject, em graus, a partir da sua orientação original referente ao contêiner 3D parent. | DisplayObject | ||
rotationY : Number
Indica a rotação do eixo y da ocorrência DisplayObject, em graus, a partir da sua orientação original referente ao contêiner 3D parent. | DisplayObject | ||
rotationZ : Number
Indica a rotação do eixo z da ocorrência DisplayObject, em graus, a partir da sua orientação original referente ao contêiner 3D parent. | DisplayObject | ||
scale9Grid : Rectangle
A grade de dimensionamento atual que está em vigor. | DisplayObject | ||
scaleX : Number
Indica a escala horizontal (porcentagem) do objeto aplicada a partir do ponto de registro. | DisplayObject | ||
scaleY : Number
Indica a escala vertical (porcentagem) de um objeto aplicada a partir do ponto de registro desse objeto. | DisplayObject | ||
scaleZ : Number
Indica a escala de profundidade (porcentagem) de um objeto aplicada a partir do ponto de registro desse objeto. | DisplayObject | ||
scrollRect : Rectangle
Os limites do retângulo de rolagem do objeto de exibição. | DisplayObject | ||
smoothing : Boolean
Controla se o bitmap é ou não suavizado quando dimensionado. | Bitmap | ||
stage : Stage [somente leitura]
O Palco do objeto de exibição. | DisplayObject | ||
transform : flash.geom:Transform
Um objeto com propriedades relacionadas aos limites de pixels, matriz e transformação de cores de um objeto de exibição. | DisplayObject | ||
visible : Boolean
Se o objeto de exibição está ou não visível. | DisplayObject | ||
width : Number
Indica a largura do objeto de exibição, em pixels. | DisplayObject | ||
x : Number
Indica a coordenada x da ocorrência de DisplayObject com relação às coordenadas locais do DisplayObjectContainer-pai. | DisplayObject | ||
y : Number
Indica a coordenada y da ocorrência de DisplayObject com relação às coordenadas locais do DisplayObjectContainer-pai. | DisplayObject | ||
z : Number
Indica a posição da coordenada z ao longo do eixo z da ocorrência DisplayObject em relação ao contêiner 3D pai. | DisplayObject |
Método | Definido por | ||
---|---|---|---|
Inicializa um objeto Bitmap para fazer referência ao objeto BitmapData especificado. | Bitmap | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra um objeto de ouvinte de evento em um objeto EventDispatcher, de forma que o ouvinte receba a notificação de um evento. | EventDispatcher | ||
Envia um evento para o fluxo de eventos. | EventDispatcher | ||
Retorna um retângulo que define a área do objeto de exibição com relação ao sistema de coordenadas do objeto targetCoordinateSpace. | DisplayObject | ||
Retorna um retângulo que define o limite do objeto de exibição, com base no sistema de coordenadas definido pelo parâmetro espaçoCoordenadasDestino, excluindo quaisquer traçados em formas. | DisplayObject | ||
Converte o objeto de ponto a partir de coordenadas de Palco (globais) em coordenadas do objeto de exibição (locais). | DisplayObject | ||
Converte um ponto bidimensional das coordenadas do Palco (globais) em coordenadas do objeto de exibição tridimensional (locais). | DisplayObject | ||
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento. | EventDispatcher | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Avalia a caixa delimitadora do objeto de exibição para ver se ela sobrepõe ou faz interseção com a caixa delimitadora do objeto de exibição obj. | DisplayObject | ||
Avalia o objeto de exibição para ver se ele sobrepõe ou faz interseção com o ponto especificado pelos parâmetros x e y. | DisplayObject | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Converte um ponto tridimensional das coordenadas (locais) do objeto de exibição tridimensional em ponto bidimensional das coordenadas (globais) do Palco. | DisplayObject | ||
Converte o objeto de ponto a partir das coordenadas do objeto de exibição (locais) em coordenadas do Palco (globais). | DisplayObject | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Remove um ouvinte do objeto EventDispatcher. | EventDispatcher | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
Retorna o valor primitivo do objeto especificado. | Object | ||
Verifica se um ouvinte de evento está registrado nesse objeto EventDispatcher ou em qualquer um de seus ancestrais para o tipo de evento especificado. | EventDispatcher |
bitmapData | propriedade |
bitmapData:BitmapData
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
O objeto BitmapData que está sendo referenciado.
Implementação
public function get bitmapData():BitmapData
public function set bitmapData(value:BitmapData):void
pixelSnapping | propriedade |
pixelSnapping:String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Controla se o objeto Bitmap é ou não encaixado no pixel mais próximo. A classe PixelSnapping inclui valores possíveis:
PixelSnapping.NEVER
— o encaixe de pixel não ocorre.PixelSnapping.ALWAYS
— a imagem é sempre encaixada ao pixel mais próximo, independentemente da transformação.PixelSnapping.AUTO
— a imagem será encaixada no pixel mais próximo se for desenhada sem giro ou inclinação e em um fator de escala de 99,9% a 100,1%. Se essas condições forem atendidas, a imagem bitmap será desenhada em escala de 100% e encaixada no pixel mais próximo. Internamente, esse valor permite que a imagem seja desenhada da forma mais rápida possível usando o renderizador de vetores.
Implementação
public function get pixelSnapping():String
public function set pixelSnapping(value:String):void
smoothing | propriedade |
smoothing:Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Controla se o bitmap é ou não suavizado quando dimensionado. Se true
, o bitmap é suavizado quando dimensionado. Se false
, o bitmap não é suavizado quando dimensionado.
Implementação
public function get smoothing():Boolean
public function set smoothing(value:Boolean):void
Bitmap | () | Construtor |
public function Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Inicializa um objeto Bitmap para fazer referência ao objeto BitmapData especificado.
ParâmetrosbitmapData:BitmapData (default = null ) — O objeto BitmapData que está sendo referenciado.
| |||
pixelSnapping:String (default = "auto ") — Se o objeto Bitmap é ou não encaixado no pixel mais próximo.
| |||
smoothing:Boolean (default = false ) — Se o bitmap é ou não suavizado quando dimensionado. Por exemplo, os exemplos a seguir mostram o mesmo bitmap redimensionado por um fator de 3, com a suavização definida como false (esquerda) e true (direita):
|
Exemplo ( Como usar este exemplo )
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()
. Essa tarefa é concluída com as seguintes etapas:
- Uma propriedade
url
é criada, representando a localização e o nome do arquivo de imagem - O construtor de classe chama o método
configureAssets()
, que, por sua vez, chama o métodocompleteHandler()
. configureAssets()
cria um objeto Loader, que então instancia um ouvinte de evento que é despachado quandocompleteHandler()
completa a manipulação da imagem.- Em seguida, o método
buildChild()
cria uma nova ocorrência de um objeto URLRequest,request
, com aurl
transmitida para que o nome e a localização do arquivo sejam conhecidos. - O objeto
request
é transmitido ao métodoloader.load()
, que carrega a imagem na memória por meio de um objeto de exibição. - A imagem é então inserida na lista de exibição, que a exibe imediatamente nas coordenadas x = 0, y = 0 da tela.
- O método
completeHandler()
realiza as seguintes tarefas:- Cria um segundo objeto Loader, junto com um objeto Bitmap, que é inicializado com o objeto Loader.
- Cria um segundo objeto Bitmap,
duplicate
, que, por sua vez, chama o métododuplicateImage()
, que cria uma duplicata da imagem original. - Cria um objeto BitmapData, que é atribuído ao objeto BitmapData do objeto
duplicate
. - Cria um novo objeto Rectangle inicializado com as mesmas coordenadas, largura e altura que a imagem original.
- Cria um novo objeto Point, que assume como padrão x = 0, y = 0.
- Cria as seguintes variáveis:
operation
: operation: aplica a nova cor quando o valor de limite é >= o original.limite
: threshold: o valor com base no qual cada pixel é comparado é definido como cinza-claro com um alfa de 0xCC.color
color: a cor com a qual serão definidos os pixels que passarem no teste de limite, que é amarelo sólido nesse caso.mask
: mask: defina como o oposto exato da cor, (azul transparente).copySource
: copySource: defina como "false", indicando que os valores de pixel não são copiados no caso de o valor de limite não passar no teste. Esse valor não tem significado, já que a imagem é duplicada e somente os pixels que passarem no teste de limite serão alterados.
- Chama o método
threshold()
usando as variáveis anteriores. A equação de limite resultante é a seguinte:se (Valor de pixel atual & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) defina o pixel como 0xFFFFFF00
.
Observações:
- Você precisará compilar o arquivo SWF com "Segurança de reprodução local" definida como "Acessar somente arquivos locais".
- Esse exemplo requer que um arquivo denominado Image.gif seja inserido no mesmo diretório que o seu arquivo SWF.
- Convém usar uma imagem com até 80 pixels de largura.
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:10 AM Z