簡體   English   中英

用Java壓縮png

[英]Compress png with Java

我想使用im4java用graphicsmagick或ImageMagick壓縮png,有人可以幫助我嗎? 我發現

 package example;
import com.googlecode.pngtastic.core.PngImage;
import com.googlecode.pngtastic.core.PngOptimizer;

import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.InputStream;

/**
 * Example pngtastic image optimization usage from java
 */
public class Test {

    public static void main(String[] args) throws Exception {
        // load png image from a file
        final InputStream in = new BufferedInputStream(new FileInputStream("/input.png"));
        final PngImage image = new PngImage(in);

        // optimize
        final PngOptimizer optimizer = new PngOptimizer();
        final PngImage optimizedImage = optimizer.optimize(image);

        // export the optimized image to a new file
        final ByteArrayOutputStream optimizedBytes = new ByteArrayOutputStream();
        optimizedImage.writeDataOutputStream(optimizedBytes);
        optimizedImage.export("/output.png", optimizedBytes.toByteArray());
    }
}

使用pngtastic,但在壓縮198.3kB之前和壓縮179.6kB之后圖像非常小

我在Linux上找到了pngnq,可以安裝並使用Runtime.getRuntime().exec("pngnq <file png>"); 在java中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM