Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
236 views
Welcome To Ask or Share your Answers For Others

1 Answer

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...