在网上找到的java输出图像的例子里面一般都没有对jpeg图像输出的压缩比进行设置,而默认的都是有损压缩,输出的图片就会比原图片质量变低。
下面是一段给图片加上网站logo的代码,注意第12,13,14行设置了图片的压缩比。本例为不压缩原图片。
java 代码
- BufferedImage image = ImageIO.read(new FileInputStream("c:\\base.jpg"));
-
- BufferedImage image_biao = ImageIO.read(new FileInputStream(
- "c:\\logo.gif"));
- Graphics2D g = image.createGraphics();
- g.drawImage(image_biao, 10, 10, image_biao.getWidth(null),
- image_biao.getHeight(null), null);
- g.dispose();
- FileOutputStream out = new FileOutputStream("c:\\out.jpg");
-
- JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
- JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(image);
- param.setQuality(1f, false);
- encoder.setJPEGEncodeParam(param);
- encoder.encode(image);
- out.close();
setQuality
public void setQuality(float quality,
boolean forceBaseline)
quality取值在 1.0 到 0.0 之间
Some guidelines: 0.75 high quality
0.5 medium quality
0.25 low quality
另外要得到一张指定高度和宽度的图片的话可以用以下代码:(接上面代码)
java 代码
- BufferedImage tag = new BufferedImage(500, 300,image.getType());
- tag.getGraphics().drawImage(image, 0, 0, 500, 300, null);
-
- FileOutputStream out2 = new FileOutputStream("c:\\out2.jpg");
-
- JPEGImageEncoder encoder2 = JPEGCodec.createJPEGEncoder(out2);
- JPEGEncodeParam param2 = encoder.getDefaultJPEGEncodeParam(tag);
- param2.setQuality(1f, false);
- encoder2.setJPEGEncodeParam(param2);
- encoder2.encode(tag);
- out2.close();
注意第一行新建 BufferedImage 的时候要使用原图片的type,这样可以保证输出与原图片相同质量的图片。
分享到:
相关推荐
本篇文章主要介绍了java对图片进行压缩和resize调整的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
一个比较好的无损压缩调整图片大小的例子程序
resize - 纯golang实现的图像大小调整库
Laravel开发-resize-image 使用预定义的大小调整图像大小
解决firefox下resize事件无效问题
对图像 Resize 批量处理并保存到指定文件夹
php缩放图片类resizeimage 经测试可直接使用
Image Resize Guide可以自由调整图片大小,当前能够修改图片大小软件很多很多,基本上图片处理软件都能修改图片大小。 你只需点击几次鼠标,软件会自动帮你完成余下的工作。对雪景,水或绿树背景的图片效果出众,重要...
ImageResizeGD 用于调整和压缩 PNG、JPEG 和 GIF 格式图像的简单 PHP 类。 有关用法详细信息,请参阅方法注释。 需要 GD 库。 没有版权。 随意使用你喜欢的方式。使用指南创建新实例。 $image = new ImageResizeGD('...
可以将图片压缩到很小,通过去掉一些不关紧要的图片元素,减少图片的大小
今天小编就为大家分享一篇关于Java源码解析HashMap的resize函数,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
Script to resize JPEG images using bicubic format
resizeWindow.txt resizeWindow.txt resizeWindow.txtresizeWindow.txtresizeWindow.txt resizeWindow.txt resizeWindow.txt resizeWindow.txt
i_view是一款支持批处理 图像格式转换及其resize的好工具
在python语言中使用opencv和PIL批量处理图像,将图像的大小重新设置到自己需要的尺寸。处理后的图像可以作为其他图像处理的输入。
通过示例 RESIZE 示例代码显示如何修改 Windows 窗口以便当用户使用鼠标来调整窗口边框跳转到下一个可用大小自动调整方式。 更多信息 可用于从 Microsoft 下载中心下载下列文件: <br>Resize.exe ...
resize-jpeg -w 800 original.jpg > original.w800.jpg 调整jpeg的大小,并使用mozjpeg针对网络进行优化 调整大小时, (和ImageMagick)会降低JPEG文件的质量。 真是令人惊讶可以更好地优化眼睛的像素,每个字节都...
图片压缩软件(网络下载资源,若侵删)
易语言模块ReSize.rar 易语言模块ReSize.rar 易语言模块ReSize.rar 易语言模块ReSize.rar 易语言模块ReSize.rar 易语言模块ReSize.rar
C++OpenCV3编程源代码图像金字塔和resize综合示例提取方式是百度网盘分享地址