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);
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…