减少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);

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...