Comprimir el tamaño de la imagen usando Java

Volodymyr Zavada:

Quiero comprimir (reducir) el tamaño de la imagen usando Java. Podemos subir imágenes en formatos jpg / jpeg / png. El formato general de las imágenes es PNG. Entonces, después de cargar la imagen en el servidor, debemos comprimir (reducir el tamaño del archivo) y convertirla a PNG.

Tengo el siguiente código para la imagen comprimida:

    BufferedImage bufferedImage = ImageIO.read(inputStream);
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

    switch (imageType) {
        case PNG:
        case JPG:
            // need Java 9+ for PNG writer support
            ImageWriter writer = ImageIO.getImageWritersByFormatName(imageType.getExtension()).next();
            ImageOutputStream ios = ImageIO.createImageOutputStream(outputStream);
            writer.setOutput(ios);

            ImageWriteParam param = writer.getDefaultWriteParam();
            if (param.canWriteCompressed()) {
                param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
                param.setCompressionQuality(0.3f);
            }

            writer.write(null, new IIOImage(bufferedImage, null, null), param);
            writer.dispose();
            return new ByteArrayInputStream(outputStream.toByteArray());
        default:
            log.warn("Image type unknown");
            return null;
    }

El problema es que, después de procesar la imagen, obtuve el resultado: el tamaño del archivo aumentó en lugar de reducirse. La imagen original tiene un tamaño menor que la comprimida. ¿Alguna sugerencia sobre cómo solucionar este problema?

Joop Eggen:

Desafortunadamente, la compresión JPEG con pérdida se comprime mucho mejor que la compresión PNG sin pérdida. Puede restringir el ancho y el alto de la imagen y escalar proporcionalmente.

Entonces cambiaría a JPEG y restringiría el tamaño.

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

La forma más rápida de comprimir el tamaño del video usando la biblioteca o Algo

Cambiar el tamaño de la imagen en Java desde el byte [] a la imagen almacenada

Cambiar el tamaño de la imagen con relleno usando convertir en ubuntu

Cambiar el tamaño de la imagen en Java

¿Cómo cambiar el tamaño de la imagen original a un tamaño de imagen común en Java?

¿Cómo establecer el tamaño de la imagen local usando knitr para rebajas?

¿Cambiar el tamaño de la imagen proporcionalmente usando CSS?

reducir el tamaño de la imagen usando imagemagick para lotes de imágenes

El color de la imagen se arruinó al cambiar su tamaño usando una copia de la imagen

Cambiar el tamaño de la imagen existente en DocX usando OpenXML sdk

Cambiar el tamaño de la imagen de un sprite usando CSS

El color de la imagen se arruinó al cambiar su tamaño usando una copia de la imagen

¿Cómo cambiar el tamaño de la imagen al tamaño de párrafo usando Apache POI?

Haga el cambio de tamaño de la imagen al cargar la imagen usando storeAs () en laravel

Cómo comprimir el tamaño de la imagen usando C # Dot Net Core

Comprimir o cambiar el tamaño de la imagen antes de renderizar en aleteo

Animar el tamaño de la imagen

Animar el tamaño de la imagen

La imagen de gran tamaño no se está cargando en el servidor usando PHP

Al cambiar el tamaño, cargando una imagen usando la función de activos en laravel

Establecer el tamaño de la imagen en `ImageView` en el botón donde la imagen se establece usando css

cómo cambiar el tamaño de la imagen en la memoria usando el comando convertir

Cómo controlar el tamaño de la imagen de la función usando solo CSS

Cambiar el tamaño de la imagen de Qlabel al cambiar el tamaño de la ventana usando resizeEvent

Media Query usando Javascript / JQuery: cambio de imagen según el tamaño de la pantalla

cambiar el tamaño de la imagen de entrada para mobilenet_ssd usando tensorflow

comprimir el tamaño de la imagen (Laravel)

Cambiar el tamaño del componente de sprite de la imagen de fondo usando CSS

cambiar el tamaño de la imagen usando el botón arrastrable - React Native

TOP Lista

CalienteEtiquetas

Archivo