Thumbnailator

图片加水印自动缩放的三种方式, 支持jpg, png, gif

牧云@^-^@ 提交于 2020-08-15 06:35:54
JAVA 自带图片处理, 不支持gif, png 会变黑, 需要处理 /** * 添加图片水印 * 水印固定为 @xxxxxx 角标 * @param srcFile * @return */ public static File addWaterMark (File srcFile) { OutputStream os = null; try { // 源图片 String formatName = FileType. getSuffixByFilename (srcFile.getName()).substring( 1 ) ; if (!FileType. JPG .equalsIgnoreCase(formatName)) { // 暂不支持其他类型的图片 return srcFile ; } Image srcImg = ImageIO. read (srcFile) ; BufferedImage buffImg = new BufferedImage(srcImg.getWidth( null ) , srcImg.getHeight( null ) , BufferedImage. TYPE_INT_RGB ) ; int srcImgWidth = buffImg.getWidth() ; // 图片宽 int srcImgHeight = buffImg

Java 简易电子相册(一)

六眼飞鱼酱① 提交于 2020-08-08 12:34:29
一、前言 如图所示: 目前代码实现了文件夹读取,缩略图展示这两个功能,剩余功能大家看界面也能猜到了,有生之年系列吧,下次想写再说吧。 二、准备 1.win10 2.eclipse 3.jdk 1.8.0_221 4.jar 下载链接: https://search.maven.org/artifact/net.coobird/thumbnailator/0.4.8/jar 三、结构 其中日志模块还没有写。 四、代码 1、启动main package imageView . lyrics . main ; import java . awt . EventQueue ; import imageView . lyrics . ui . ImageViewFrameUI ; public class Main { public static void main ( String [ ] args ) { EventQueue . invokeLater ( new Runnable ( ) { public void run ( ) { try { new ImageViewFrameUI ( ) ; } catch ( Exception e ) { e . printStackTrace ( ) ; } } } ) ; } } 2、service package imageView

java图片压缩(Thumbnails)

蓝咒 提交于 2020-07-28 08:52:24
package com.hzxc.groupactivity.server.util; import java.awt.image.BufferedImage; import java.io.* ; import java.math.BigDecimal; import javax.imageio.ImageIO; import net.coobird.thumbnailator.Thumbnails; import org.apache.commons.lang3.StringUtils; /** * Created by hdwang on 2018/12/13. */ public class PicUtils { public static void main(String[] args) { PicUtils.commpressPicForScale( "/Users/hdwang/Downloads/1.jpg","/Users/hdwang/Downloads/1_s.jpg", 1000, 0.8,750,1334); // 图片小于1000kb } /** * 根据指定大小和指定精度压缩图片 * * @param srcPath * 源图片地址 * @param desPath * 目标图片地址 * @param desFileSize * 指定图片大小,单位kb

java后台对上传的图片进行压缩

那年仲夏 提交于 2020-04-28 07:04:07
java开发中经常遇到对图片的处理,JDK中也提供了对应的工具类,不过处理起来很麻烦,Thumbnailator是一个优秀的图片处理的开源Java类库,处理效果远比Java API的好,从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式,同时保持了需要写入的最低限度的代码量。还支持对一个目录的所有图片进行批量处理操作,下边就和大家分享一下java中用Thumbnailator做图片各种处理的方法(相关jar包可在最下方下载) 1、引入jar或者依赖: <!-- 图片缩略图 --> <dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version> </dependency> 2、 public static void uploadFileAndCreateThumbnail() { // 拼接后台文件名称 String thumbnailPathName = "D:\\aaa\\1.png" ; File file = new File(thumbnailPathName); if (file == null || ! file.exists()){

图片压缩,用这个就够了

怎甘沉沦 提交于 2020-04-22 09:17:00
现在的智能手机分辨率都很高,拍的高清照片动辄5M甚至7M。 上传到系统的图片太大了,导致页面加载缓慢。 为此,让组里一小伙做一个压缩工具。发版后,发现图片虽然是压缩了,不过有个别图片严重失真。 然后,在网上查资料,发现有人分享google提供的开源工具Thumbnailator。 maven dependency引入方式: <dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version> </dependency> 代码简洁: import net.coobird.thumbnailator.Thumbnails; import org.junit.Test; public class ImageUtilTest { @Test public void googleImgThumb() throws Exception{ String path="D:\\Users\\liziqi\\130******92-驾驶证照片-org.jpg" ; Thumbnails.of(path) .scale(0.5f) .outputQuality(1 ) .toFile("D:\\Users\\liziqi\\130******92-驾驶证照片

java 图片处理-水印,透明图等

核能气质少年 提交于 2020-04-15 17:39:50
【推荐阅读】微服务还能火多久?>>> 这里 使用的是 thumbnailator , 我看了一下,目前作者又去维护了,而且start 数那么多,肯定比较稳定了, 网上的demo的也不少,一般的需求需求也满足了。 <!--图片处理工具--> <dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.11</version> </dependency> 主要是最近 有一个业务需求,就是需要生成 海报或者说 生成对应的图片。 仿照 http://p0.prodapi.cn/#/ 这里的功能一样。 其实也就是 通过 一层图层一层 图层的水印 盖上去,生成 最终的海报或者 对应的图片。 工具类型: package com.newpearl.o2o.biz.utils; import com.newpearl.utils.Preconditions; import net.coobird.thumbnailator.Thumbnails; import net.coobird.thumbnailator.geometry.Position; import org.apache.commons.lang3.StringUtils; import java.awt.

java 视频处理获取时长,截取帧数,类型转换

人走茶凉 提交于 2020-03-18 11:25:24
某厂面试归来,发现自己落伍了!>>> 所需要的jar 1、mov 视频转码为 mp4 compile group: 'ws.schild', name: 'jave-core', version: '2.7.1' compile group: 'ws.schild', name: 'jave-nativebin-linux64', version: '2.7.1' compile group: 'ws.schild', name: 'jave-nativebin-win64', version: '2.7.1' 2、获取时长、截取帧数 compile group: 'org.bytedeco', name: 'javacv', version: '1.3.1' compile group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg-platform', version: '3.2.1-1.3' /** * 作者: 王彦宝 * 时间: 2019年6月27日上午10:48:58 * 描述:截取视频上传第10帧 * @param file * @param framefile * @throws Exception * void */ public long fetchFrame(String file, String framefile

Java图片处理工具类

安稳与你 提交于 2019-12-04 11:33:24
Thumbnailator 是一个优秀的图片处理的Google开源Java类库 支持的处理操作:图片缩放,区域裁剪,水印,旋转,保持比例。 1 指定大小进行缩放 //size(宽度, 高度) /* * 若图片横比200小,高比300小,不变 * 若图片横比200小,高比300大,高缩小到300,图片比例不变 * 若图片横比200大,高比300小,宽缩小到200,图片比例不变 * 若图片横比200大,高比300大,图片按比例缩小,宽为200或高为300 */ Thumbnails.of("images/a380_1280x1024.jpg") .size(200, 300) .toFile("c:/a380_200x300.jpg"); Thumbnails.of("images/a380_1280x1024.jpg") .size(2560, 2048) .toFile("c:/a380_2560x2048.jpg"); 2 按比例缩放 //scale(比例) Thumbnails.of("images/a380_1280x1024.jpg") .scale(0.25f) .toFile("c:/a380_25%.jpg"); Thumbnails.of("images/a380_1280x1024.jpg") .scale(1.10f) .toFile("c:/a380_110%

【Java实例】使用Thumbnailator生成缩略图(缩放、旋转、裁剪、水印)

邮差的信 提交于 2019-12-03 05:35:28
1 需求 表哥需要给儿子报名考试,系统要求上传不超过30KB的图片,而现在的手机随手一拍就是几MB的,怎么弄一个才30KB的图片呢? 一个简单的办法是在电脑上把图片缩小,然后截屏小图片,但现在的电脑屏幕分辨率很高,而且截屏大小不好控制;同样分辨率在不同图片格式下,大小也相差很大。试了一下微信截图工具,输出的图片比较大。于是放弃了该办法。 另一个办法是通过其它工具来处理。找了图片在线压缩网站和一款手机软件,发现在图片小于一定大小时压缩无效。如果再继续找其它工具,简直就是折腾且浪费时间,所以也放弃了该办法。 最后,还是自己写个代码把图片按原比例压缩成了29KB,使用Thumbnailator库,两三行代码搞定。 2 缩略图可以做什么? 缩略图是应用极其广泛的,像头像、图片消息、商品图片等,都会用到缩略图。 比如,当你有了一个新的微信好友,你就能看到他的头像,一开始这个头像是一个比原图更小的缩略图。而你点击查看原图时,微信客户端才会给你下载原图。因为你并不会对每个人的头像都感兴趣,都会去查看清晰的原图,一个小小的缩略图已经能满足了。这样可以减轻网络传输的负担,加快响应速度。 微信传图片和视频也是同样的道理,先给你传一个比较小的预览,你点击查看原图或视频播放才给你传更大的文件。 3 缩略图的开源库 缩略图的开源库很多: (1)Thumbnailator GitHub: https:/

【Java实例】使用Thumbnailator生成缩略图(缩放、旋转、裁剪、水印)

本小妞迷上赌 提交于 2019-12-03 05:30:43
1 需求 表哥需要给儿子报名考试,系统要求上传不超过30KB的图片,而现在的手机随手一拍就是几MB的,怎么弄一个才30KB的图片呢? 一个简单的办法是在电脑上把图片缩小,然后截屏小图片,但现在的电脑屏幕分辨率很高,而且截屏大小不好控制;同样分辨率在不同图片格式下,大小也相差很大。试了一下微信截图工具,输出的图片比较大。于是放弃了该办法。 另一个办法是通过其它工具来处理。找了图片在线压缩网站和一款手机软件,发现在图片小于一定大小时压缩无效。如果再继续找其它工具,简直就是折腾且浪费时间,所以也放弃了该办法。 最后,还是自己写个代码把图片按原比例压缩成了29KB,使用Thumbnailator库,两三行代码搞定。 2 缩略图可以做什么? 缩略图是应用极其广泛的,像头像、图片消息、商品图片等,都会用到缩略图。 比如,当你有了一个新的微信好友,你就能看到他的头像,一开始这个头像是一个比原图更小的缩略图。而你点击查看原图时,微信客户端才会给你下载原图。因为你并不会对每个人的头像都感兴趣,都会去查看清晰的原图,一个小小的缩略图已经能满足了。这样可以减轻网络传输的负担,加快响应速度。 微信传图片和视频也是同样的道理,先给你传一个比较小的预览,你点击查看原图或视频播放才给你传更大的文件。 3 缩略图的开源库 缩略图的开源库很多: (1)Thumbnailator GitHub: https:/