问题
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