繁体   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