Pessoal, gostaria de sobrepor 2 imagens (arq png). Usei o Graphics2D mas a imagem resultante perdeu muito a qualidade. Vcs sabem de alguma outra forma de fazer isso preservando a qualidade original das imagens? Grato.
Não deveria perder qualidade.
Posta o seu código, você aplicou algum filtro ou redimensionou a imagem?
staroski, desculpe-me a demora em responder. Segue o código:
identar texto pre-formatado em 4 espaços
File oImgFun = new File(“c:/java/classes/pack1/img/default.png”);
File oImgFre = new File(“c:/java/classes/pack1/img/BA2931.png”);
File oImgFim = new File(“c:/java/classes/pack1/img/Teste.png”);
Image oRetImg = null;
try
{
BufferedImage oImgFunBuf = ImageIO.read(oImgFun);
BufferedImage oImgFreBuf = ImageIO.read(oImgFre);
int w = oImgFreBuf.getWidth();
int h = oImgFreBuf.getHeight();
Graphics2D graphics = oImgFunBuf.createGraphics();
graphics.drawImage(oImgFreBuf, 0, 0, w, h, null);
graphics.dispose();
// Grava o Arquivo resultante da Sobreposição
ImageIO.write(oImgFunBuf, "PNG", oImgFim);
// Gera um Image resultante da Sobreposição
oRetImg = SwingFXUtils.toFXImage(oImgFunBuf, null);
}
catch (IOException e)
{
e.printStackTrace();
}
identar texto pre-formatado em 4 espaços
Veja q testei tanto a gravação de um arq png overlapado como tb a conversão de um
BufferedImage para um Image. Ambos ficaram com o mesmo resultado, com grande perda
da qualidade frente as imagens originais. Grato pelo apoio.