miércoles, 6 de abril de 2016

[J2ME] Re-dimensionar una imagen




El re-dimensionamiento de una imagen no trae muchas complicaciones en Java ME en este caso probado en WTK2.5.2, para esto solo necesitaremos hacer lo siguiente: 

1) Importar la clase Image

  import javax.microedition.lcdui.Image;

2) Invocar el método "redimensionar" con la imagen y el ancho y alto que quieren que quede:


/**
     * Metodo para redimensionar el tamaño de la imagen 
     * @param image objeto con la imagen que se quiere cambiar de tamaño 
     * @param ancho  ancho que quedaria la imagen 
     * @param alto alto que quedaria la imagen 
     * @return retorna el objeto Image ya redimensionada
     */
private Image redimensionar(Image image, int ancho, int alto) {
        int anchoOriginal = image.getWidth(); 
        int alturaOriginal = image.getHeight();
        int[] inicial;  
        int[] ifinal = null;
        inicial = new int[anchoOriginal];
        int i = 0;
        int dy, dx;
        ifinal = new int[ancho * alto];
        for (int y = 0; y < alto; y++) {
            dy = y * alturaOriginal / alto;

            image.getRGB(inicial, 0, anchoOriginal, 0, dy, anchoOriginal, 1);

            for (int x = 0; x < ancho; x++) {
                dx = x * anchoOriginal / ancho;

                ifinal[(ancho * y) + x] = inicial[dx];
            }
        }
        Image redimensionada = Image.createRGBImage(ifinal, ancho, alto, true);
        return redimensionada;
    }


Al mostrarla en un canvas, quedaría re-dimensionada. 







No hay comentarios:

Publicar un comentario