jueves, 16 de octubre de 2014

[Java Mobile] Metodo para redimencionar una Imagen.



Uno de los problemas que nos presentamos al estar manejando diferentes dimensiones de pantalla es que las imagenes en un determinado tamaño no siempre son representadas correctamente por el tipo de pantalla, no es la excepción con Java Me mobile que es una programación muchas veces para dispositivos que no son de muchas capacidades por lo que les dejo un pequeño método para que en tiempo de ejecución podamos reedimensionar la imagen. Por lo que dejo este pequeño método para reedimensionar.


/**
     * Metodo que redimensiona una imagen 
     * @param image
     * Imagen original que hay que redimensionar
     * @param ancho
     * Nueva anchura que tendra la imagen
     * @param alto
     * Nueva altura que tendra la imagen 
     * @return 
     * Retorna 
     * la imagen 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;
    }



No hay comentarios:

Publicar un comentario