图片压缩

1.采用 Thumbnail 公共类

2.采用 Thumbnail 方法

Thumbnails.of(inputStream) // of(filePath/inputStream) 使用源图片的路径或流,生成缩略图构造器

.sourceRegion(0, 0, imageWidth, imageHeight) // 截取源图中需要用于压缩的区域

.size(width, height) // 设置缩略图的高度和宽度

.keepAspectRatio(true) // 是否保持原来的长宽比

.toOutputStream(outputStream); // 将生成的缩略图直接一输出流的形式输出;

// .toFile(fileUrl); //或 将缩略图以图片文件的形式输出;

3.解决bug

该方法爆出的UnsupportedFormatException:No suitable ImageReader 异常;

本人反复的出现这个异常,痛定思痛,查找各种资料,最后发现,

异常的真正原因是:原图文件被破坏,前面的inputstream已经被破坏了。

解决办法:使用base64 String 形式图片(String imageString),再解析为inputstream ,防止原图被破坏,压缩前加上代码如下;

InputStream inputStream = new ByteArrayInputStream(fastDFSUtil.generateImage(imageString));

注:fastDFSUtil.generateImage(imageString),将base64string 图片解码,转化为byte[]。

Thumbnail 图片压缩相关推荐

  1. Android图片压缩(质量压缩和尺寸压缩)

    在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩):质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的手 ...

  2. java jpeg压缩解码_图片压缩(iOS)

    场景很简单,上传图片前压缩图片,节省流量和发图时间.最近看了看 iOS 的静态图片压缩,这里记个笔记.本人之前没学过 iOS 和 Swift,本文是一篇入门文章,描述不到位之处请大家多多批评斧正. ̄ω ...

  3. java图像处理002---JAVA图片压缩_图片缩放_图片按照比例缩放_图片指定长宽缩放_Java使用google开源工具Thumbnailator实现图片压缩

    JAVA技术交流QQ群:170933152 前言 作为靠谱的java服务端程序员,图片这个事情一直是个头疼的事情. 现在很多网站上,都有上传图片这个功能,而图片对于现在的很多手机来说,拍摄出来的都是高 ...

  4. android 图片压缩总结1

    在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩):质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的手 ...

  5. iOS代码质量要求_图片压缩(iOS)

    场景很简单,上传图片前压缩图片,节省流量和发图时间.最近看了看 iOS 的静态图片压缩,这里记个笔记.本人之前没学过 iOS 和 Swift,本文是一篇入门文章,描述不到位之处请大家多多批评斧正. ̄ω ...

  6. Thumbnailator的简介和使用范例(图片压缩)

    1.简单介绍 借用红薯对Thumbnailator 的描述:Thumbnailator是一个用来生成图像缩略图的 Java类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图 ...

  7. java高清无损图片压缩

    Java高清无损图片压缩 (本文禁止转载,如需转载请联系本人:微信/QQ同号:969987665) 简单介绍 thumbnailator-0.4.5.jar 官方下载网址 语法使用(超级简单的,再也没 ...

  8. 提升GraphicsMagick图片压缩软件性能使用心得

    关于这款图片裁剪软件的介绍就不多说了,给出官网地址:http://www.graphicsmagick.org/ 由于工作需要,对图片进行压缩处理,因此便研究了下图片压缩软件.一开始选择的方案是Ima ...

  9. thumbnailator图片压缩和碰见的问题修复

    项目:文件存储系统 需求: 需要开发一个图片压缩接口,需要对图片进行按比例压缩 方案:选择用thumbnailator来实现图片压缩, thumbnailator git地址:https://gith ...

最新文章

  1. kobject_create_and_add
  2. 为什么顶尖高手,都是长期主义者?
  3. java学习笔记9--内部类总结
  4. Hadoop点滴-HDFS命令行接口
  5. rx.observable_使用Java 8 CompletableFuture和Rx-Java Observable
  6. php dns刷新,Windows DNS缓存自动刷新
  7. java secondtotime_Java中的LocalTime toSecondOfDay()方法
  8. 【飞控理论】从零开始学习Kalman Filters之一:Kalman Filters的常见用途、什么是状态观测器?
  9. lisp 河道水面线计算_鹤岗河道用铸铁轻型闸门厂家
  10. 大智慧 软件 开发语言_中科闻歌中标深圳税务局智慧税务中台软件开发服务项目...
  11. Transaction事务
  12. No.025:Reverse Nodes in k-Group
  13. 苏宁易购开放平台_苏宁易购半年报解读:业态场景与零售服务的“两手抓”
  14. 雅虎邮箱pop服务器,使用Yahoo.com.cn的POP和SMTP
  15. 零界之痕服务器维护,零界之痕测试服
  16. 直播源码部署直播软件系统搭建!
  17. 微信Web APP应用
  18. excel文件损坏修复绝招_Access文件频繁损坏的解决方法
  19. 网站让浏览器崩溃的原因有哪些
  20. 计算机对商务英语的不利之处,商务英语教学中计算机网络利弊分析论文.docx

热门文章

  1. ava虚拟机详解--GC算法和种类【重要】
  2. 无监督 自监督---综述
  3. C语言使用CUDA中cufft函数做GPU加速FFT运算,与调用fftw函数的FFT做运算速度对比
  4. eclipse 找不到或无法加载主类(已解决)
  5. 数据分析--DataFrame(4)
  6. 安装cadence软件到使用过程中遇到的问题和解决方法
  7. mysql 查询小数点_MySQL查询小数点位数
  8. 递归实现n阶螺旋矩阵问题
  9. Dog Whisper--报告狗班长——狗的心理专家
  10. 【名言】后生看经书,须着看注疏及先儒解释,不然,执己见议论,恐入自是之域,便轻视古人。...