Programación General > Java
Superponer Dos Imágenes
AURED:
Solucionado.
Empleando el MediaTracker funciona perfectamente.
El código queda algo así, lo cuelgo por si a alguien le pudiese ser de utilidad.
--- Código: Text ---public void pintar(){ bufIm=new BufferedImage(600,600,BufferedImage.TYPE_INT_ARGB); Graphics2D gbi = bufIm.createGraphics(); gbi.drawImage(fondo,0,0,null); AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER); gbi.setComposite(ac); gbi.drawImage(capa,0,0,null); ImageIcon ic=new ImageIcon(bufIm); muestra.setIcon(ic); } private void cambiarFondo(){ fondo=Toolkit.getDefaultToolkit().getImage(regiones.getSelectedItem()+".jpg"); MediaTracker tracker=new MediaTracker(this); tracker.addImage(fondo,1); try{ if(!tracker.waitForID(1,10000)){ System.out.println("Load error."); System.exit(1); } }catch(Exception e){ e.printStackTrace(); System.exit(1); } if((tracker.statusAll(false)&MediaTracker.ERRORED& MediaTracker.ABORTED) != 0){ System.out.println("Load errored or aborted"); System.exit(1); } } private void cargarDatos(){ FileDialog fd=new FileDialog(this); fd.setTitle("Seleccionar imagen a cargar"); fd.show(); if(fd.getFile()!=null){ String origen=fd.getDirectory()+fd.getFile(); capa=Toolkit.getDefaultToolkit().getImage(origen); MediaTracker tracker=new MediaTracker(this); tracker.addImage(capa,1); try{ if(!tracker.waitForID(1,10000)){ System.out.println("Load error."); System.exit(1); } }catch(Exception e){ e.printStackTrace(); System.exit(1); } if((tracker.statusAll(false)&MediaTracker.ERRORED& MediaTracker.ABORTED) != 0){ System.out.println("Load errored or aborted"); System.exit(1); } } }
Navegación
[*] Página Anterior
Ir a la versión completa