博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java对图片进行压缩和resize
阅读量:5883 次
发布时间:2019-06-19

本文共 1788 字,大约阅读时间需要 5 分钟。

  hot3.png

这里展示一下如何对图片进行压缩和resize。

压缩

public static boolean compress(String src,String to, float quality) {        boolean rs = true;        // Build param        JPEGEncodeParam param = null;        // Build encoder        File destination = new File(to);        FileOutputStream os = null;        try {            BufferedImage image = ImageIO.read(new File(src));            param = JPEGCodec.getDefaultJPEGEncodeParam(image);            param.setQuality(quality, false);            os = FileUtils.openOutputStream(destination);            JPEGImageEncoder encoder;            if (param != null) {                encoder = JPEGCodec.createJPEGEncoder(os, param);            } else {                return false;            }            encoder.encode(image);        } catch(Exception e){            e.printStackTrace();            rs = false;        }finally {            IOUtils.closeQuietly(os);        }        return rs;    }

resize

public static boolean resize(String src,String to,int newWidth,int newHeight) {        try {            File srcFile = new File(src);            File toFile = new File(to);            BufferedImage img = ImageIO.read(srcFile);            int w = img.getWidth();            int h = img.getHeight();            BufferedImage dimg  = new BufferedImage(newWidth, newHeight, img.getType());            Graphics2D g = dimg.createGraphics();            g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);            g.drawImage(img, 0, 0, newWidth, newHeight, 0, 0, w, h, null);            g.dispose();            ImageIO.write(dimg, "jpg", toFile);        } catch (Exception e) {            e.printStackTrace();            return false;        }        return true;    }

转载于:https://my.oschina.net/go4it/blog/1492028

你可能感兴趣的文章
NULL不是数值
查看>>
CentOS 5 全功能WWW服务器搭建全教程
查看>>
scala111
查看>>
模块化服务规范——OSGI
查看>>
劣质代码评析——猜数字问题(上)
查看>>
纸上谈兵: 栈 (stack)
查看>>
Windows phone8 基础篇(三) 常用控件开发
查看>>
Oracle学习笔记之五,Oracle 11g的PL/SQL入门
查看>>
大叔手记(3):Windows Silverlight/Phone7/Mango开发学习系列教程
查看>>
考拉消息中心消息盒子处理重构(策略模式)
查看>>
so easy 前端实现多语言
查看>>
【追光者系列】HikariCP源码分析之ConcurrentBag&J.U.C SynchronousQueue、CopyOnWriteArrayList...
查看>>
canvas系列教程05-柱状图项目3
查看>>
css绘制几何图形
查看>>
HTML标签
查看>>
理解JS中的Event Loop机制
查看>>
转载:字符编码笔记:ASCII,Unicode和UTF 8
查看>>
修复看不懂的 Console Log
查看>>
Android跨进程通信 AIDL使用
查看>>
ajax常见面试题
查看>>