Java一种减少图片存储空间的方法(转换成jpg格式)

Wesley13
• 阅读 929

    主要用到BufferedImage对象,将原始图片保存为jpg格式:

public static void thumbImage(String input,String newFile) throws Exception {
        Image src = javax.imageio.ImageIO.read(new File(input));
        int width = src.getWidth(null);// 获取图源宽度
        int height = src.getHeight(null);// 获取图源高度
        BufferedImage thumb = new BufferedImage(width / 1, height / 1, 
                BufferedImage.TYPE_INT_RGB);
        // 绘制缩小后的图
        thumb.getGraphics().drawImage(src, 0,  0, width / 1, height / 1, null);
        File file = new File(newFile);// 输出到文件流
        ImageIO.write(thumb, "jpg", file);
}

    使用效果如何:原图-1947K,转换后-716K,效果好像比较明显,图片质量差别不太大。

    Java一种减少图片存储空间的方法(转换成jpg格式)

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java将svg图片转换为png格式图片
java将svg图片转换为png格式图片博客分类:java 有时候在客户端使用svg画图,而在服务器端需要同样的图片,在服务器端重新画一遍是非常费事的。这时候我们就可以利用已有的svg直接通过下面的类转换成png格式。使用这个方法需要引用batic相关的包,mavenpom文件如下:<!svg生成png格式图片<
Wesley13 Wesley13
3年前
java判断文本文件编码格式
上篇文章需要读取当前java或者配置文件的编码格式,这里主要支持UTF8、GBK、UTF16、Unicode等/判断文件的编码格式@paramfileName:file@return文件编码格式@throwsException/pu
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
Java处理.tif或.tiff图片
前言Java将图片读取到内存用的是ImageIO,默认可以处理的图片格式如下:ImageIO.getWriterFileSuffixes()//此方法返回可以处理的图片格式数组jpgbmpgifpngwbmpjpeg当要处理其他图片格式时,如tif或tiff则要加入第
Stella981 Stella981
3年前
Mac python3 环境下 完善pdf转jpg脚本
由于样本图片数据都是保存在pdf里,想拿到样本必须先把图片从pdf中提取出来,算是数据清洗中的一点小小的积累吧。这里不得不吐槽一下公司存储图片的机制,业务员把jpg格式的照片放到word里,然后用工具把word保存为pdf,最后上传到公司服务器里,这简介反人类,不但丢失了图片头文件信息,还造成后期数据转换的大量时间资源的浪费,可能pdf格式会小一
Stella981 Stella981
3年前
SVG矢量动画
一、概述相较于png、jpg等位图通过存储像素点来记录图像,svg(ScalableVectorGraphics)拥有一套自己的语法,通过描述的形式来记录图形。Android并不直接使用原始的svg格式图片,而是将其转化为VectorDrawable。VectorDrawable是一个xml格式的drawable,是矢量图在Android
Wesley13 Wesley13
3年前
GIF,JPG还是PNG选择合适的图片格式
转自:IT屌丝,码农之家(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.itfans.com%2Fthread1611.html)从某种程度上说,判断一个网页设计师是否优秀,可以从其在WEB开发(或网页设计)中是否合理的采用各种图片格式得出结论。事实上,或许所
Easter79 Easter79
3年前
SVG矢量动画
一、概述相较于png、jpg等位图通过存储像素点来记录图像,svg(ScalableVectorGraphics)拥有一套自己的语法,通过描述的形式来记录图形。Android并不直接使用原始的svg格式图片,而是将其转化为VectorDrawable。VectorDrawable是一个xml格式的drawable,是矢量图在Android
Stella981 Stella981
3年前
Doge.jpg 的背后是什么,你知道么?
图片,是我们生活中最常见的信息载体,作为一个日常生活中无处不在的事物,我们已经很习惯静态或者动态的图片了。大家也了解静态图片主要是jpg/png格式,动态图片主要为gif。那你有没有过一瞬间的疑惑:“为什么都是图片还有不同的格式,这些格式都有什么不同?”Q1聊聊常见的图片格式JPEG格式JPEG(Joint
RAW镜像格式介绍
RAW(Raw Disk Image)是一种简单而基本的虚拟化镜像格式,用于存储虚拟机的磁盘内容。它是一种原始的二进制文件格式,直接将虚拟机的磁盘映像保存为连续的字节流,没有经过特定的压缩或加密处理。