
Ayuda con copia de imagen java
Publicado por Erick (3 intervenciones) el 17/07/2015 19:03:56
Bueno ante todo gracias a los que puedan ayudarme, mi problema es el siguiente:
Tengo una clase que extiende de Jpanel donde luego cargo una imagen, si es mas grande que el tamaño de mi jpanel(441x550) la redimensiono, hasta ahí todo bien, el problema es cuando hago una copia pixel por pixel, se supone que deberia copiarse exactamente igual, sin embargo la imagen en tamaño original(no se redimensiona) se corta a ese tamaño. El codigo es el siguiente:
Adjunto tambien el proyecto, espero pueda ayudarme, Gracias

Tengo una clase que extiende de Jpanel donde luego cargo una imagen, si es mas grande que el tamaño de mi jpanel(441x550) la redimensiono, hasta ahí todo bien, el problema es cuando hago una copia pixel por pixel, se supone que deberia copiarse exactamente igual, sin embargo la imagen en tamaño original(no se redimensiona) se corta a ese tamaño. El codigo es el siguiente:
En esta parte redimensiono
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public void setImagen(String nombreImagen) {
if (nombreImagen != null) {
try {
bmp = ImageIO.read(new File(nombreImagen));
escalax= (float)(bmp.getWidth())/441;
escalay= (float)(bmp.getHeight())/550;
if(bmp.getHeight() > 550 || bmp.getWidth() > 441){
super.setSize((int)(bmp.getWidth()/escalax),(int)(bmp.getHeight()/escalay));
}
else
super.setSize(bmp.getWidth(),bmp.getHeight());
}
catch (IOException ex) {
System.out.println("No se pudo leer la imagen");
}
}
else {
bmp = null;
}
}
Este el codigo de copia
1
2
3
4
5
6
7
8
9
10
float w=panelImage1.getWidth();
float h=panelImage1.getHeight();
panelImage2.setSize((panelImage1.getWidth()),(panelImage1.getHeight()));
for (int i = 0; i < panelImage1.getWidth(); i++) {
for (int j = 0; j <panelImage1.getHeight(); j++) {
int c=panelImage1.getPixel(i, j);
panelImage2.setPixel(i, j, c);
}
}
panelImage2.repaint();
Adjunto tambien el proyecto, espero pueda ayudarme, Gracias

- TDIA.rar(31,4 KB)
Valora esta pregunta


0