Ver Mensaje Individual
  #6 (permalink)  
Antiguo 18/03/2009, 02:22
Avatar de eggman
eggman
 
Fecha de Ingreso: octubre-2005
Mensajes: 17
Antigüedad: 18 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Ayuda en J2ME

Ya encontré una función que reescala con un rendimiento infinitamente mejor:

Código PHP:
/**
  * This methog resizes an image by resampling its pixels
  * @param src The image to be resized
  * @return The resized image
  */

  
private Image resizeImage(Image src) {
      
int srcWidth src.getWidth();
      
int srcHeight src.getHeight();
      
Image tmp Image.createImage(screenWidthsrcHeight);
      
Graphics g tmp.getGraphics();
      
int ratio = (srcWidth << 16) / screenWidth;
      
int pos ratio/2;

      
//Horizontal Resize        

      
for (int x 0screenWidthx++) {
          
g.setClip(x01srcHeight);
          
g.drawImage(src- (pos >> 16), 0Graphics.LEFT Graphics.TOP);
          
pos += ratio;
      }

      
Image resizedImage Image.createImage(screenWidthscreenHeight);
      
resizedImage.getGraphics();
      
ratio = (srcHeight << 16) / screenHeight;
      
pos ratio/2;        

      
//Vertical resize

      
for (int y 0screenHeighty++) {
          
g.setClip(0yscreenWidth1);
          
g.drawImage(tmp0- (pos >> 16), Graphics.LEFT Graphics.TOP);
          
pos += ratio;
      }
      return 
resizedImage;

  }
//resize image