加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

减少java中的图像分辨率

发布时间:2020-12-14 17:46:31 所属栏目:Java 来源:网络整理
导读:我需要使用 Java程序来减小图像的大小(而不是宽度和高度). 他们有什么好的API可用吗? 我需要将大小从1MB减小到大约50kb – 100 kb. 当然这个决议会减少,但这并不重要. 解决方法 根据这个博文: http://i-proving.com/2006/07/06/java-advanced-imaging/你可
我需要使用 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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读