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

Como salvar “ SnapShots” de componentes do Flex na máquina do usuário.

Colocado por DClick Team na(s) categoria(s): 1, 4, 6, action, Actionscript, ActionScript 3, api, Aplicativos, AR, arte, as3, back, BI, bitmap, blog, class, Componente, Componentes, Curso, Cursos, dados, desempenho, encode, encoder, event, exemplo, flash, Flash Player, Flex, for, function, game, git, handle, ide, IE, if, image, int, label, library, map, mg, Motivação, NaN, News, O, Office, on, Outros, padrão, Partilha, player, processo, pt, reference, referencia, RIA, Ria’s Geral, Sem categoria, servidor, TAT, Tutorial, Twitter, UI em 12 6th, 2010 | Sem comentários

https://github.com/mikechambers/as3corelib .

Implementação

Então vamos ao que interessa. Esta pequena função abaixo é que faz toda a mágica, é ela que gera a imagem a partir do componente AgonNewsSnapShot e o salva na maquina do usuário:

PLAIN TEXT
ACTIONSCRIPT:

  1. protected function saveSnapshot_clickHandler(event:MouseEvent):void
  2. {
  3. var imageBitmapData:BitmapData = ImageSnapshot.captureBitmapData(birthDaySnapshot);
  4. var imgByteData:ByteArray = PNGEncoder.encode(imageBitmapData);
  5. var file:FileReference = new FileReference();
  6. file.save(imgByteData,“nomeDoArquivo.png”);
  7. }

O componente AgonNewsSnapShot nada mais é do que um Group no qual todos os seus filhos (Labels, Background, Images, etc.) serão desenhados na imagem a ser salva, veja abaixo o exemplo de uma instância deste componente:

Vamos dividir em partes:

Primeiro é capturada a imagem Bitmap do componente AgonNewsSnapShot, que no nosso caso é o componente que será salvo como imagem no computador do usuário:

PLAIN TEXT
ACTIONSCRIPT:

  1. var imageBitmapData:BitmapData = ImageSnapshot.captureBitmapData(agonNewsSnapshot);

Usamos o PNGEncoder para converter a imagem e retornar o ByteArray da mesma:

PLAIN TEXT
ACTIONSCRIPT:

  1. var imgByteData:ByteArray = PNGEncoder.encode(imageBitmapData);

É chamado o system dialog padrão do S.O, para salvar o ByteArray na maquina do usuário no diretório selecionado por ele.

PLAIN TEXT
ACTIONSCRIPT:

  1. var file:FileReference = new FileReference();
  2. file.save(imgByteData,“nomeDoArquivo.png”);

Pronto! Seu componente acaba de ser desenhado numa imagem e salvo no computador do usuário.

Bom galera esse é meu primeiro post, espero que tenham gostado, e virão mais por aí.

Abraços.

Referencias:

http://www.switchonthecode.com/tutorials/flex-tutorial-an-asynchronous-jpeg-encoder

http://ask.amoeba.co.in/save-images-from-flash-actionsctipt-3-filereference-save-jpgencoder/




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:
» Flex serial is invalid (MacOs)
» RIACAST 004: Visão do Futuro?
» Flash Catalyst CS5 e Panini – Palestra

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 2791 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