Compress image without saving it — in Java

柔情痞子 提交于 2019-12-14 03:34:42

问题


Is there a way, in Java, to compute what the size of a compressed image will be w/o saving the image? (This will be used to determine the quality necessary to compress an image to a specific size.)

Something like this, but in Java instead of C#, and where the Stream can be a dead end.


回答1:


Here's a simple implementation.

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;
    }
}


来源:https://stackoverflow.com/questions/56870530/compress-image-without-saving-it-in-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!