Better quality in JPEG compression on the way out.
This commit is contained in:
parent
cad37df18b
commit
3a4ac78bb6
1 changed files with 9 additions and 1 deletions
|
|
@ -19,9 +19,11 @@ import java.util.concurrent.Future;
|
|||
import java.util.concurrent.PriorityBlockingQueue;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.imageio.IIOImage;
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.imageio.ImageReadParam;
|
||||
import javax.imageio.ImageReader;
|
||||
import javax.imageio.ImageWriteParam;
|
||||
import javax.imageio.ImageWriter;
|
||||
import javax.imageio.stream.ImageInputStream;
|
||||
import javax.imageio.stream.ImageOutputStream;
|
||||
|
|
@ -234,12 +236,18 @@ public class PictureScaler {
|
|||
|
||||
Iterator<ImageWriter> writers = ImageIO.getImageWritersByFormatName("jpg");
|
||||
ImageWriter writer = writers.next();
|
||||
ImageWriteParam writeParam = writer.getDefaultWriteParam();
|
||||
writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
|
||||
writeParam.setCompressionQuality(0.95f);
|
||||
|
||||
ByteArrayOutputStream bits = new ByteArrayOutputStream();
|
||||
|
||||
ImageOutputStream ios = ImageIO.createImageOutputStream(bits);
|
||||
writer.setOutput(ios);
|
||||
writer.write(buf2);
|
||||
|
||||
IIOImage image = new IIOImage(buf2, null, null);
|
||||
writer.write(null, image, writeParam);
|
||||
writer.dispose();
|
||||
ios.flush();
|
||||
|
||||
CachedImage cimg = new CachedImage();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue