[Dúvida] Usando GIF no JAI

2 respostas
mxwebman

Galera, achei este código aqui mesmo no fórum e ele funcionou beleza. Mas para o que eu quero ficar perfeito, preciso esclarecer 2 dúvidas:

1 - Como juntar estas imagens, sendo o foreground um GIF e não um JPG? (Aqui deu o erro “java.lang.ArrayIndexOutOfBoundsException” quando tentei simplesmente trocar o arquivo original)

2 - Como escolher a posição em pixels em que esta imagem GIF se posicionará sobre o JPG? (o default é x=0 e y=0, mas não achei onde alterar isto)

Aguardo comentários. Obrigado.

RenderedImage bg = JAI.create("fileload","c:\\temp\\background.jpg");   
RenderedImage fg = JAI.create("fileload","c:\\temp\\foreground.jpg");  
  
TiledImage ti =  
   new TiledImage(bg.getMinX(),  
                  bg.getMinY(),  
                  bg.getWidth(),  
                  bg.getHeight(),  
                  bg.getTileGridXOffset(),  
                  bg.getTileGridYOffset(),  
                  bg.getSampleModel(),  
                  bg.getColorModel());  
ti.set(bg);  
  
Rectangle r =  
    new Rectangle(fg.getMinX(),  
                  fg.getMinY(),  
                  fg.getWidth(),  
                  fg.getHeight());  
  
ROI roi = new ROIShape(r);        
ti.setData(fg.getData(), roi);  
  
JAI.create("filestore",ti,"c:\\temp\\result.jpg","jpeg",null);

2 Respostas

Djonatah

Reposta para pergunta nº1
Que tal converter o gif para jpeg? (acho que vc nao vai conseguir mixar duas imagens “diferentes”)

Abracos

mxwebman

Djonatah:
Reposta para pergunta nº1
Que tal converter o gif para jpeg? (acho que vc nao vai conseguir mixar duas imagens “diferentes”)

Abracos

Mas aí não adianta muito, pois eu preciso que essa imagem que vai ficar por cima mantenha o fundo transparente! :wink: Por exemplo: imagina se eu quiser colar uma bola em uma paisagem. Se eu transformá-la antes para JPG, vai ficar um quadrado em volta da bola…

Criado 17 de fevereiro de 2009
Ultima resposta 17 de fev. de 2009
Respostas 2
Participantes 2