0 votos
por (40 puntos) en Java
Saludos, tal y como dice el titulo estoy buscando una aplicacion en java que reduzca el tamaño de una imagen. El siguiente programa me lo han pasado y se supone que realiza lo que busco, pero me da problemas con una libreria en concentreto y nosé si será porque esta anticuada o que, espero puedan ayudarme.

public class futos {

    // Este mtodo es el encargado de leer una imagen de un fichero y

    // crear la imagen reducida en otr fichero

    public static int creaImagenReducida(int i,String s,String s1) {

    int error = 0;

    try {

        Image image = Toolkit.getDefaultToolkit().getImage(s);

        MediaTracker mediatracker = new MediaTracker(new Container());

        mediatracker.addImage(image, 0);

        mediatracker.waitForID(0);

        int j = 0;

        int k = 0;

        int l = image.getWidth(null);

        int i1 = image.getHeight(null);

        double d = (double)l / (double)i1;

        if(d > 1.0D)

        {

            k = i;

            j = (int)((double)k / d);

        } else

        {

            j = i;

            k = (int)((double)j * d);

        }

        BufferedImage bufferedimage = new BufferedImage(k, j, 1);

        Graphics2D graphics2d = bufferedimage.createGraphics();

        graphics2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);

        graphics2d.drawImage(image, 0, 0, k, j, null);

        BufferedOutputStream bufferedoutputstream = new BufferedOutputStream(new FileOutputStream(s1));

        JPEGImageEncoder jpegimageencoder = JPEGCodec.createJPEGEncoder(bufferedoutputstream);

        JPEGEncodeParam jpegencodeparam = jpegimageencoder.getDefaultJPEGEncodeParam(bufferedimage);

        int j1 = 100;

        j1 = Math.max(0, Math.min(j1, 100));

        jpegencodeparam.setQuality((float)j1 / 100F, false);

        jpegimageencoder.setJPEGEncodeParam(jpegencodeparam);

        jpegimageencoder.encode(bufferedimage);

        bufferedoutputstream.close();

    } catch( Exception e ) {

        System.out.println("Error en creaImagenReducida");

        error=1;

      }

    return error;

    }

public static void main(String[] args)

    {

      if (creaImagenReducida(100,"ejemplo.jpg","ejemplo_p.jpg")==1)

            System.out.println("Error en creaImagenReducida");

        else

            System.out.println("Finalizado");

     }

};

ERROR AL COMPILAR:

Fotos.java:50: cannot find symbol

symbol  : method setJPEGEncodeParam(com.sun.image.codec.jpeg.JPEGEncodeParam)

location: class com.sun.image.codec.jpeg.JPEGImageEncoder

        jpegimageencoder.setJPEGEncodeParam(jpegencodeparam);

                        ^

1 error

Pues eso, espero k puedan ayudarme, muchas gracias.


Por favor, accede o regístrate para responder a esta pregunta.

Preguntas relacionadas

+1 voto
2 respuestas
preguntado por Antilla (30 puntos) Ene 28, 2016 en Javascript
0 votos
3 respuestas
+1 voto
0 respuestas
preguntado por clowy (30 puntos) Nov 12, 2019 en Java
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...