So komprimieren Sie Bilder mit Java

Die Komprimierung von Bilddateien ist eine der wichtigsten Aufgaben, wenn es darum geht, die große Anzahl von Bilddateien zu speichern. Es spart viel Platz, wenn Sie die Bilder bei Bedarf komprimieren könnten. Dieses Beispiel zeigt, wie die JPEG-Datei komprimiert und verkleinert wird.

ImageWriteParam Die Klasse wird hauptsächlich zur Komprimierung der Bilder verwendet. Es gibt zwei Methoden, die hauptsächlich zum Ändern der Komprimierungseinstellungen verwendet werden.
setCompressionQuality() Methode zum Festlegen der Qualität des komprimierten Bildes auf einen Wert zwischen 0 und 1. Eine Komprimierungsqualitätseinstellung von 0,0 wird im Allgemeinen als „hohe Komprimierung ist wichtig“ interpretiert, während eine Einstellung von 1,0 im Allgemeinen als „hohe Bildqualität“ interpretiert wird wichtig.“ Auch wir haben Methode verwendet setCompressionMode() um die Qualität der Komprimierung einzustellen.

Hier ist die Liste der Methoden, die in der Klasse verfügbar sind ImageWriteParam,

  • protected boolean canOffsetTiles
  • protected boolean canWriteCompressed
  • protected boolean canWriteProgressive
  • protected boolean canWriteTiles
  • protected int compressMode
  • geschützte Float-KomprimierungQualität
  • protected String-Komprimierungstyp
  • protected String()-Komprimierungstypen
  • protected Locale-Gebietsschema
  • protected Dimension() bevorzugteTileSizes
  • protected int progressiveMode
  • protected int TileGridXOffset
  • protected int TileGridYOffset
  • protected int TileHeight
  • protected boolean tilingSet
  • Schauen wir uns das Beispiel an, das das gegebene Bild komprimiert und das Bild in kleiner Größe ausgibt. Probieren wir dieses Beispiel aus und posten Sie Ihre Kommentare.

    Komprimieren Sie JPEGFileExample.ajav

    package javabeat.net.core;
    
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Iterator;
    
    import javax.imageio.IIOImage;
    import javax.imageio.ImageIO;
    import javax.imageio.ImageWriteParam;
    import javax.imageio.ImageWriter;
    import javax.imageio.stream.ImageOutputStream;
    
    /**
     * Compress JPEG File Example
     *
     * @author Krishna
     *
     */
    public class CompressJPEGFileExample {
    	public static void main(String() args) throws FileNotFoundException, IOException{
    		File imageFile = new File("Desert.jpg");
    		File compressedImageFile = new File("compressed_file.jpg");
    
    		InputStream inputStream = new FileInputStream(imageFile);
    		OutputStream outputStream = new FileOutputStream(compressedImageFile);
    
    		float imageQuality = 0.3f;
    
    		//Create the buffered image
    		BufferedImage bufferedImage = ImageIO.read(inputStream);
    
    		//Get image writers
    		Iterator<ImageWriter> imageWriters = ImageIO.getImageWritersByFormatName("jpg");
    
    		if (!imageWriters.hasNext())
    			throw new IllegalStateException("Writers Not Found!!");
    
    		ImageWriter imageWriter = (ImageWriter) imageWriters.next();
    		ImageOutputStream imageOutputStream = ImageIO.createImageOutputStream(outputStream);
    		imageWriter.setOutput(imageOutputStream);
    
    		ImageWriteParam imageWriteParam = imageWriter.getDefaultWriteParam();
    
    		//Set the compress quality metrics
    		imageWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
    		imageWriteParam.setCompressionQuality(imageQuality);
    
    		//Created image
    		imageWriter.write(null, new IIOImage(bufferedImage, null, null), imageWriteParam);
    
    		// close all streams
    		inputStream.close();
    		outputStream.close();
    		imageOutputStream.close();
    		imageWriter.dispose();
    	}
    }
    

    Ich hoffe, dieses Tutorial hat Ihnen geholfen zu verstehen, wie man eine Datei mit Java komprimiert. Es gibt verschiedene Techniken zum Komprimieren der Bilddatei. Wenn Sie andere gute Techniken zum Komprimieren von Bilddateien verwendet haben, teilen Sie uns dies bitte hier mit.

    Kommentar verfassen

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    Nach oben scrollen