图片压缩 博客分类: Java 图片压缩
程序员文章站
2024-03-25 20:57:52
...
下面方法可以做到压缩图片不失真:
public class TestImage { /** * 创建图片缩略图(等比缩放) * * @param src * 源图片文件完整路径 * @param dist * 目标图片文件完整路径 * @param width * 缩放的宽度 * @param height * 缩放的高度 */ public static void createThumbnail(String src, String dist, float width, float height) { try { File srcfile = new File(src); if (!srcfile.exists()) { System.out.println("文件不存在"); return; } BufferedImage image = ImageIO.read(srcfile); // 获得缩放的比例 double ratio = 1.0; // 判断如果高、宽都不大于设定值,则不处理 if (image.getHeight() > height || image.getWidth() > width) { if (image.getHeight() > image.getWidth()) { ratio = height / image.getHeight(); } else { ratio = width / image.getWidth(); } } // 计算新的图面宽度和高度 int newWidth = (int) (image.getWidth() * ratio); int newHeight = (int) (image.getHeight() * ratio); BufferedImage bfImage = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB); bfImage.getGraphics().drawImage( image.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH), 0, 0, null); FileOutputStream os = new FileOutputStream(dist); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(os); encoder.encode(bfImage); os.close(); System.out.println("创建缩略图成功"); } catch (Exception e) { System.out.println("创建缩略图发生异常" + e.getMessage()); } } public static void main(String[] args) { createThumbnail("e:\\123.jpg","e:\\123_1.jpg",160,160); } }
推荐阅读
-
【转】Java高性能Web开发(1)-图片压缩 博客分类: 性能优化 性能优化web前端图片压缩
-
图片压缩 博客分类: Java 图片压缩
-
微信内置浏览器图片查看方式的原生实现(非jssdk) 博客分类: JavaScript微信 微信开发微信jssdk微信jsAPI
-
Java实现给图片添加水印 博客分类: Util 水印
-
C#/VB.NET 操作Word批注(二)——如何插入图片、读取、回复Word批注内容 博客分类: .NET Word C#.NETWord批注Spire.Doc
-
关于旗正规则引擎规则中的上传和下载问题 博客分类: 旗正4.0 jsp文件上传文件下载压缩
-
CSS3实战开发:使用CSS过滤效果来改变图片样式 博客分类: css3div+css csscss3图片过滤
-
CSS3实战开发: 手把手教大家实战开发鼠标划过图片动画特效(第二弹) 博客分类: css3div+css csscss3css3动画特效css动画特效实战开发
-
CSS3实战开发:使用CSS过滤效果来改变图片样式 博客分类: css3div+css csscss3图片过滤
-
CSS3实战开发:仿天猫首页图片展示动画特效实战开发 博客分类: div+csscss3 csscss3transition仿天猫动画特效