(1)使用第三方工具实现(ImageMagick+im4java)

压缩方式:通过压缩图片质量方式(在服务器端安装ImageMagick软件后,通过im4java包,将Java代码转化成对ImageMagick的命令行调用)
好处:支持网络上所有格式的图片压缩:
        压缩后的图片分辨率与原始图片一致,不会出现图片宽高缩放的情况。
坏处:依赖第三方jar包,需要在服务器端安装ImageMagick软件。

(2)使用第三方工具实现(thumbnailator)

压缩方式:通过降低图片分辨率实现,即缩放图片宽高。
好处:相比较第一种(ImageMagick+im4java),不需要安装第三方软件。
坏处:不支持苹果手机的HEIC格式图片;
        依赖第三方jar包;

(3)使用Java自带的ImageIO图片处理类。(只支持六种图片格式:jpg、bmp、gif、png、wbmp、jpeg)

压缩方式:通过降低图片分辨率实现,即缩放图片宽高。
好处:不需要依赖第三方jar包。
坏处:不支持苹果手机的HEIC格式图片;
        可能会导致压缩后的图片宽高比原始图片小;
        网上说会发生OOM,本地测试没有出现过。

压缩图片的三种方式(Java)相关推荐

  1. 文件上传的三种方式-Java

    前言:负责,因为该项目他(jetty嵌入式开始SpringMvc)实现文件上传的必要性,并拥有java文件上传这一块还没有被曝光.并 Http 更多晦涩协议.因此,这种渐进的方式来学习和实践上载文件的 ...

  2. 关于mysql存取图片的三种方式(含源码示例)

    最近在做小程序的后台,要求将小程序用户以upload方法上传的图片保存到mysql数据库中. 然后机缘巧合三种方式都试了,所以专门整理出来分享给大家.可能有的地方说的不太对,欢迎大家帮纠正. ==== ...

  3. 给Teams消息附加图片的三种方式

    Teams消息支持三种不同的方式来添加图片,这篇文章我们来一起看一下这三种方式. Inline图片 var imagePath = Path.Combine(Environment.CurrentDi ...

  4. ipad使用计算机的图片大全,三种方式备份 iPad 照片

    三种方式备份 iPad 照片 是一个重要的备份照片从 iPad.这是因为这些照片记录了幸福和悲伤在你的生活.为了让他们的肉体,备份是一个不错的选择.照片通常捕获大量的存储,可能会迫使你有没有足够的空间 ...

  5. Html img显示图片的三种方式

    1.显示本地图片 2.显示网络上的图片,不过网络上的图片就是需要每次都去加载,可能会费流量 3.下面这种就是我们今天所要讲的第三种方式显示图片,它其实也就是根据http网络上的图片通过利用Data U ...

  6. PHP压缩和解压缩文件的三种方式

    前言:平时在项目中,偶尔会遇到文件备份导入导出的需求,在此记录使用PHP执行文件压缩和解压缩的三种方式** 目录 1. 使用PHP扩展的ZipArchive类 2. 使用压缩与解压缩类PclZip.p ...

  7. MarkDown添加图片的三种方式

    Markdown插图片有三种方法,各种Markdown编辑器的插图方式也都包含在这三种方法之内. 插图最基础的格式就是: ![Alt text](图片链接 "optional title&q ...

  8. QT设置背景图片的三种方式

    QPalette的方法 基本步骤: (1). 首先设置QWidget的autoFillBackground属性为真 (2). 然后定义一个QPalette对象,设置QPalette对象的背景属性(颜色 ...

  9. 用java读取图片的三种方式

    参考网址:http://www.cnblogs.com/zxp_9527/archive/2009/03/20/1417504.html // Read from a fileFile sourcei ...

  10. php 远程图片合拼,php获取远程图片的三种方式

    来源:http://www.phstar.cn/article/258.html 下面介绍 3种php远程获取图片的方法,希望对大家有帮助. 1:file_get_contents,file_put_ ...

最新文章

  1. java根据属性获取对象_java反射工具类--通过指定属性名,获取/设置对象属性值
  2. 电脑如何恢复声音_电脑文件剪切丢失如何恢复?99%数据都能恢复
  3. hdu1042 java_N! hdu1042 | 学步园
  4. java 取绝对值_Java实现一致性哈希算法,并搭建环境测试其负载均衡特性
  5. Linux下Verilog仿真过程(一)
  6. Cypress 基础 - 元素的定位
  7. oracle和sql server取第一条记录的区别以及rownum详解
  8. P4322-[JSOI2016]最佳团体【0/1分数规划,树形背包】
  9. 如何在mysql查询结果集中得到记录行号_获取MySQL查询结果集中记录行号的方法...
  10. 这样写的,一定是辣鸡代码!
  11. 关于在事件代码中如何访问类中的变量
  12. 5 重启应用_5种方法教你解除 iPhone在流量环境下,无法下载超过150M的限制!
  13. 国标 计算机机房,国标相关知识:电子信息系统机房设计规范(GB50174-2008)
  14. ROS 端口IP映射 动态IP映射
  15. 计算机wifi共享,win7 wifi共享,教您Win7如何设置wifi共享
  16. 解决Win10 无线显示器功能安装时失败
  17. html图片自带闪光效果,CSS实现的一闪而过的图片闪光效果
  18. 详解GAN代码之搭建并详解CGAN代码
  19. 安装 arm nginx aarch64
  20. MBA-day19 如果p则q矛盾关系p 且非q

热门文章

  1. OneNote2016电脑端修改笔记本名称网页端不同步解决办法
  2. DCMP2.0项目总结_页面
  3. 猴子摘香蕉-人工智能实验的思考
  4. box-shadow单边阴影设置
  5. Oracle12C日志出现error=904怎样解决
  6. PS的一些常用快捷键和学习笔记
  7. JAVA程序练习---小车行走距离
  8. 消除“星期一综合症”--- 大前研一的周末时间分配术
  9. 监听php队列,执行一个队列监听
  10. python求均值方差不用numpy_【Python】不用numpy用纯python求极差、平均数、中位数、众数与方差,python的打印到控制台...