¿Cómo copiar BufferedImage?

pedrohv012005
22 de Marzo del 2006
Hola, necesito crear un BufferedImage a partir de otro ya existente. La copia no debe compartir ningún campo con el original.
Gracias por su tiempo.

Diego
22 de Marzo del 2006
Tercera vez que haces la misma pregunta.
Si la respuesta no te sirve, cambia la pregunta.
http://www.programacion.net/java/foros/6/msg/290692/
Si tienes miedo de definir tus propias clases empleando la herencia, no aprovecharás nunca la potencia que te da la programación orientada a objetos.
Siempre puedes declararar:
BufferedImage imagen=new Imagen(...);
BufferedImage copia=imagen.clone();
y funcionará igual de bien que BufferedImage sólo que empleará el método clone() sobreescrito que funciona correctamente.
Si insites en hacer un método que copia un BufferedImage sin utilizar la herencia, ahí va:
public BufferedImage clona(BufferedImage imagen){
BufferedImage copia=new BufferedImage (imagen.getWidth(),imagen.getHeight(),imagen.getType());
copia.setData(imagen.getData());
return copia;
}
Espero que te sirva.