减少java中的图像分辨率

前端之家收集整理的这篇文章主要介绍了减少java中的图像分辨率前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要使用 Java程序来减小图像的大小(而不是宽度和高度).
他们有什么好的API可用吗?

我需要将大小从1MB减小到大约50kb – 100 kb.
当然这个决议会减少,但这并不重要.

解决方法

根据这个博文: http://i-proving.com/2006/07/06/java-advanced-imaging/你可以使用 Java Advanced Imaging Library做你想要的.以下示例代码应为您提供一个良好的起点.这将调整图像的高度和宽度,以及图像质量.一旦您的图像具有所需的文件大小,您可以在显示图像时将其缩放到所需的像素高度和宽度.
// read in the original image from an input stream
SeekableStream s = SeekableStream.wrapInputStream(
  inputStream,true);
RenderedOp image = JAI.create("stream",s);
((OpImage)image.getRendering()).setTileCache(null);

// now resize the image

float scale = newWidth / image.getWidth();

RenderedOp resizedImage = JAI.create("SubsampleAverage",image,scale,qualityHints);


// lastly,write the newly-resized image to an
// output stream,in a specific encoding

JAI.create("encode",resizedImage,outputStream,"PNG",null);

猜你在找的Java相关文章