Rasterizar SWF

1 view
Skip to first unread message

Robson Roberto Souza Peixoto

unread,
Feb 7, 2012, 10:00:03 AM2/7/12
to flexdev
Galera,

eu tou usando um componente que só trabalha com BITMAP, mas todos os meus arquivos são SWF.

Como eu faço essa conversão ? E como eu seto o Tamanho e Largura do Bitmap

Valeu galera

--
Robson Roberto Souza Peixoto
Robinho
Master in Computer Science, University of Campinas
Linux Counter #395633
IRC: robsonpeixoto
Twitter: http://twitter.com/rrspba
github: https://github.com/robsonpeixoto

Tonussi Eric

unread,
Feb 7, 2012, 10:06:48 AM2/7/12
to fle...@googlegroups.com
Você pode carregar o swf em um componente ( Image ou SWFLoader ), e tirar um "print" dele. Algo mais ou menos assim:


var bd:BitmapData = new BitmapData(loader.width,loader.height); //loader é onde você carregou o swf.
bd.draw(loader);
var screenshot:Bitmap = new Bitmap(bd);

Más lembre de fazer isso somente depois do loader exibir o swf.

Abraços

--
@Tonussi
tonussi.com


--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para fle...@googlegroups.com
Para sair da lista, envie um email em branco para flexdev-u...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Robson Roberto Souza Peixoto

unread,
Feb 7, 2012, 10:10:13 AM2/7/12
to fle...@googlegroups.com

2012/2/7 Tonussi Eric <erict...@gmail.com>

Você pode carregar o swf em um componente ( Image ou SWFLoader ), e tirar um "print" dele. Algo mais ou menos assim:


var bd:BitmapData = new BitmapData(loader.width,loader.height); //loader é onde você carregou o swf.
bd.draw(loader);
var screenshot:Bitmap = new Bitmap(bd);

Más lembre de fazer isso somente depois do loader exibir o swf.


Então eu tenho que exibir o SWF na tela para poder transformar ele em Bitmap?

Tonussi Eric

unread,
Feb 7, 2012, 10:43:44 AM2/7/12
to fle...@googlegroups.com
Não, só precisa ter certeza que ele já está "pronto"

--
@Tonussi
tonussi.com

Robson Roberto Souza Peixoto

unread,
Feb 7, 2012, 11:53:29 AM2/7/12
to fle...@googlegroups.com
Brigadão, chefe

2012/2/7 Tonussi Eric <erict...@gmail.com>

Robson Roberto Souza Peixoto

unread,
Feb 13, 2012, 8:37:15 AM2/13/12
to fle...@googlegroups.com
Bicho,

como é que eu faço um resize no AVM1Movie antes de rasterizar?

Só posso fazer isso usando o efeito 'mx.effects.Resize' ?

valeu 

2012/2/7 Robson Roberto Souza Peixoto <robson...@gmail.com>

Robson Roberto Souza Peixoto

unread,
Feb 13, 2012, 10:54:42 AM2/13/12
to fle...@googlegroups.com

Robson Roberto Souza Peixoto

unread,
Feb 13, 2012, 7:54:22 PM2/13/12
to fle...@googlegroups.com
Galera, eu tive uma falsa impressão que isso funcionou.
Ele redimensionou o Bitmap, o que não serve de nada.

Alguém tem a luz de como redimensionar o AVM1Movie ?

Tou usando Flex 3.6

Tonussi Eric

unread,
Feb 14, 2012, 7:07:54 AM2/14/12
to fle...@googlegroups.com
O que acontece qunado você seta o width e height?

--
@Tonussi
tonussi.com

Robson Roberto Souza Peixoto

unread,
Feb 14, 2012, 9:27:53 AM2/14/12
to fle...@googlegroups.com
Suponha que eu tenho um  AVM1Movie, que eu vou chamar de movie, com tamanho 100x100.

Se eu duplicar a imagem :
movie.width  *= 2;
movie. height *= 2; 

Eu terei um movie com 200x220. Correto?

Logo meu BitmapData (bd) terá tamanho 200x200.

Quando eu fizer o draw, eu terei um Bitmap 200x200.

Podemos dividir essa imagem em 4 pedaços 100x100 e ficaria assim:
_________________
|              |              |
|      1      |      2      |
|              |              |
|--------------|--------------|
|              |              |
|       3     |      4      |
|              |              |
------------------------------

A movie aparece somente no quadrante 1. O resto fica em branco. Logo o movie não foi redimensionada. Ou seja, somente mudou o width e height.

Pior que no momento que acontece isso, eu não tenho nem um stage pra colocar o movie e vê se ele redimensiona na tora.

[ ]s

2012/2/14 Tonussi Eric <erict...@gmail.com>

Tonussi Eric

unread,
Feb 14, 2012, 10:29:18 AM2/14/12
to fle...@googlegroups.com
Entendi. Tente o seguinte:

movie.scaleX *= 2;
movie.scaleY *= 2;

Agora, me responde uma coisa: porque você está usando o AVM1Movie? Tente usar o Image ou SWFLoader, que acredito funcionarão melhor.

Abraços

--
@Tonussi
tonussi.com


Em 14 de fevereiro de 2012 12:27, Robson Roberto Souza Peixoto <robson...@gmail.com> escreveu:
AVM1Movie

Robson Roberto Souza Peixoto

unread,
Feb 14, 2012, 11:02:49 AM2/14/12
to fle...@googlegroups.com
Esqueci de listar no email. Já tinha tentado isso tb.

Eu tou usando um AVM1Movie, porque a biblioteca que eu tou usando já tem um sistema de cache. Ele baixa ele usa um Loader, aí eu só tenho acesso ao content.

O outro componente que eu tou usando, eu preciso entregar um Bitmap pra ele.

Por isso que eu tou sendo obrigado a converter de ' AVM1Movie ' para ' Bitmap '.

Eu tou começando a achar que o movie não está redimensionando por causa de algum bug/limitação.

[ ]s

2012/2/14 Tonussi Eric <erict...@gmail.com>
Entendi. Tente o seguinte:

--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para fle...@googlegroups.com
Para sair da lista, envie um email em branco para flexdev-u...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Tonussi Eric

unread,
Feb 14, 2012, 11:08:50 AM2/14/12
to fle...@googlegroups.com
Tentou usar o scaleX e scaleY?

--
@Tonussi
tonussi.com

Robson Roberto Souza Peixoto

unread,
Feb 14, 2012, 11:54:50 AM2/14/12
to fle...@googlegroups.com
Tentei e ocorreu o mesmo problema.

2012/2/14 Tonussi Eric <erict...@gmail.com>

Tonussi Eric

unread,
Feb 14, 2012, 12:27:35 PM2/14/12
to fle...@googlegroups.com
Tente adicionar ele na tela para ver como fica. Você talvez esteja fazendo o "print" antes de resize.

--
@Tonussi
tonussi.com

Robson Roberto Souza Peixoto

unread,
Feb 14, 2012, 12:36:49 PM2/14/12
to fle...@googlegroups.com
O problema é que eu não tenho acesso ao stage no momento que tenho acesso a classe.

2012/2/14 Tonussi Eric <erict...@gmail.com>
Reply all
Reply to author
Forward
0 new messages