[RESOLVIDO]como sobrepor duas imagens do tipo image?

1 resposta
E

Boa tarde pessoal,
to com dificuldade em sobrepor duas imagens do tipo Image;
fiz um método que no qual o objetivo era retornar essa imagem já sobreposta.

protected Image getImage(){ String path = obj.getOmImg().getUrlImg(); Image retorno = new ImageIcon(getClass().getClassLoader().getResource(path)).getImage(); Image x = new ImageIcon(getClass().getClassLoader().getResource("img/xvermelho.jpg")).getImage(); Graphics2D g = (Graphics2D) retorno.getGraphics(); g.drawImage(x, 0, 0, 16, 16, null); g.dispose(); return retorno; }

Erro:
Exception in thread “AWT-EventQueue-0” java.lang.UnsupportedOperationException: getGraphics() not valid for images created with createImage(producer)

Quem puder me ajudar agradeço.

1 Resposta

E

Fiz uns testes e enfim consegui,
mudei o tipo da minha Image para BufferedImage.
Segue o código abaixo caso alguém esteja com essa mesma duvida:

protected Image getImage(){
            String path = obj.getOmImg().getUrlImg();
            BufferedImage retorno = null;
            try {
                retorno = ImageIO.read(getClass().getClassLoader().getResource(path));
                BufferedImage x = ImageIO.read(getClass().getClassLoader().getResource("img/xvermelho.jpg"));
                Graphics2D g = retorno.createGraphics();
                g.drawImage(x, 32, 32, 16, 16, null);
                g.dispose();
            } catch (Exception e) {

            }
            return retorno;
    }
Criado 12 de novembro de 2013
Ultima resposta 12 de nov. de 2013
Respostas 1
Participantes 1