在不保存图像的情况下压缩图像-在Java中

时间:2019-07-03 12:48:03

标签: java image-compression

在Java中,有没有一种方法可以计算出压缩图像的大小而不保存图像? (这将用于确定将图像压缩到特定大小所需的质量。)

Something like this,但是使用Java而不是C#,并且Stream可能是死胡同。

1 个答案:

答案 0 :(得分:2)

这是一个简单的实现。

public class LengthCounterOutputStream extends OutputStream{

    private int byteCounter = 0;

    @Override
    public void write(int b){
        byteCounter++;
    }

    @Override
    public void write(@NotNull byte[] b){
        this.write(b, 0, b.length);
    }

    @Override
    public void write(@NotNull byte[] b, int off, int len){
        byteCounter += len;
    }

    public int getByteCounter(){
        return byteCounter;
    }
}