logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!

Como pegar o BitmapData e o ByteArray de um Embed no Flex?

Colocado por DClick Team na(s) categoria(s): 1, 4, 6, action, Actionscript, app, AR, bar, BI, bitmap, blog, class, classe, dados, embedded, Flex, for, function, Geral, IE, if, image, imagens, int, Java, Javascript, lite, map, mapa, O, on, Outros, pt, RIA, Ria’s Geral, string, TAT, Twitter, UI, XML em 01 28th, 2010 | Sem comentários

Twitter!

Quando você quer manipular imagens e outros tipos de arquivos no Flex, geralmente você precisa do BitmapData ou o ByteArray desse arquivo. A maioria das pessoas já sabe como fazer isso usando o Loader, mas é um pouco mais difícil encontrar informações sobre como fazer isso com arquivos “Embedados”. Por isso, vou mostrar aqui como fazer!

Se você quer embedar uma imagem (JPEG, GIF ou PNG) no Flex, você precisa embedar em uma variável do tipo Class. O que a maioria das pessoas não sabe é que o tipo dessa classe será BitmapAsset e que BitmapAsset é uma subclasse da classe Bitmap. Então, você pode fazer isso:

PLAIN TEXT
Actionscript:

  1. [Embed(source=“image.png”)]
  2. public var MyEmbed:Class;
  3.  
  4. private function getBitmapData():BitmapData
  5. {
  6.     var bitmapAsset:BitmapAsset = new MyEmbed();
  7.     return bitmapAsset.bitmapData;
  8. }


Agora, para pegar o ByteArray, você precisa de uma pequena alteração. Você deve adicionar o parâmetro mimeType=”application/octet-stream” para a metadata Embed. Com esse parâmetro, a variável Class será do tipo ByteArrayAsset, que é uma subclasse do ByteArray. Então, você poderá fazer isso:

PLAIN TEXT
Actionscript:

  1. [Embed(source=“image.png”,mimeType=“application/octet-stream”)]
  2. public var MyEmbed:Class;
  3.  
  4. private function getByteArray():ByteArrayAsset
  5. {
  6.     var byteArrayAsset:ByteArrayAsset = new MyEmbed();
  7.     return byteArrayAsset;
  8. }


Dessa maneira, você pode até usar o Embed em algum arquivo TXT ou XML para sua aplicação e lê-lo facilmente! O ByteArray pode ser convertido para String dessa maneira:

PLAIN TEXT
Actionscript:

  1. [Embed(source=“myTextFile.txt”,mimeType=“application/octet-stream”)]
  2. public var MyEmbed:Class;
  3.  
  4. private function readEmbeddedTxt():String
  5. {
  6.     var byteArrayAsset:ByteArrayAsset = new MyEmbed();
  7.     return byteArrayAsset.toString();
  8. }


Fácil, hein?



Veja o post original no blog do autor aqui!  

DClick Team

Escrito por DClick Team @ http://blog.dclick.com.br/pt/
Saiba mais sobre o autor na sua pagina de perfil
Outros posts do autor:
» Multiple Views com Spring Web MVC
» Maven Reporting
» Adobe Photoshop CS5 – Criação de Interface para Flex 4 – Parte 2

Deixe um comentário



Spam Protection by WP-SpamFree

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2790 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com