Cópia de dados de bitmapFlash Player 9 e posterior, Adobe AIR 1.0 e posterior Para copiar dados de bitmap de uma imagem para outra, você pode usar vários métodos: clone(), copyPixels(), copyChannel() edraw(). Como o nome sugere, o método clone() permite clonar, ou obter uma amostra, dos dados de bitmap de um objeto BitmapData para outro. Quando chamado, o método retorna um novo objeto BitmapData que é um clone exato da ocorrência original do qual foi copiado. O exemplo a seguir clona uma cópia de um quadrado (pai) laranja e coloca o clone ao lado do quadrado pai original: import flash.display.Bitmap; import flash.display.BitmapData; var myParentSquareBitmap:BitmapData = new BitmapData(100, 100, false, 0x00ff3300); var myClonedChild:BitmapData = myParentSquareBitmap.clone(); var myParentSquareContainer:Bitmap = new Bitmap(myParentSquareBitmap); this.addChild(myParentSquareContainer); var myClonedChildContainer:Bitmap = new Bitmap(myClonedChild); this.addChild(myClonedChildContainer); myClonedChildContainer.x = 110; O método copyPixels() é um modo fácil e rápido de copiar pixels de um objeto BitmapData para outro. O método obtém um snapshot retangular (definido pelo parâmetro sourceRect) da imagem de origem e a copia para outra área retangular (de tamanho igual). O local do retângulo "colado" recentemente é definido dentro do parâmetro destPoint. O método copyChannel() fornece amostras de um valor de canal de cor predefinido (alfa, vermelho, verde ou azul) de um objeto BitmapData de origem e o copia para um canal de um objeto BitmapData de destino. Chamar esse método não afeta os outros canais no objeto BitmapData de destino. O método draw() desenha, ou processa, o conteúdo gráfico de um sprite de origem, clipe de filme ou outro objeto de exibição em um novo bitmap. Usando matrix, colorTransform, blendMode e os parâmetros de destinoclipRect, você pode modificar a forma na qual o novo bitmap é renderizado. Esse método usa o processador de vetor no Flash Player e no AIR para gerar os dados. Quando você chama draw(), transmite o objeto de origem (sprite, clipe de filme ou outro objeto de exibição) como o primeiro parâmetro, como demonstrado aqui: myBitmap.draw(movieClip); Se o objeto de origem teve qualquer transformação (cor, matriz etc.) aplicada a ele depois que ele foi originalmente carregado, essas transformações não serão copiadas para o novo objeto. Se você quiser copiar as transformações para o novo bitmap, será necessário copiar o valor da propriedade transform do objeto original para a propriedade transform do objeto Bitmap que usa o novo objeto BitmapData. |
![]() |