当前位置: 移动技术网 > IT编程>开发语言>Java > Java语言利用Google的Thumbnailator处理图片

Java语言利用Google的Thumbnailator处理图片

2019年06月03日  | 移动技术网IT编程  | 我要评论

导读:在java中制作高质量的缩略图可能是一项相当困难的任务,或者图片质量高页面加载慢等等原因使需要对图片进行处理,但是又不想写太多的代码太麻烦去处理图片,那么就可以使用thumbnailator——thumbnailator是一个单独的jar文件,不依赖于外部库,使开发和部署变得简单和容易。

1.thumbnailator能提供那些功能

  1. 图片裁剪
  2. 修改像素
  3. 缩小/扩大
  4. 压缩质量
  5. 旋转
  6. 加水印
  7. 转化图片格式
  8. 其他……

2.thumbnailator怎么引入项目

  maven的pom.xml添加下面的dependency:

<!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator -->
<dependency>
    <groupid>net.coobird</groupid>
    <artifactid>thumbnailator</artifactid>
    <version>0.4.8</version>
</dependency>

  也可以下载thumbnailator-0.4.8.jar包,导入工程lib下面;

3.thumbnailator怎么使用

package com.tao.springboot;

import net.coobird.thumbnailator.thumbnails;
import net.coobird.thumbnailator.geometry.positions;

import javax.imageio.imageio;
import java.awt.*;
import java.awt.image.bufferedimage;
import java.io.file;
import java.io.ioexception;

public class thumbnailator {
    public static void main(string[] args) throws ioexception {
        // 需要压缩的图片
        file infile = new file("c:/images/test.jpg");
        // 压缩完的存放地址
        string outfile = "c:/images/test.jpg";
        // 图片裁剪
        thumbnails.of(infile).sourceregion(0,0,400,400).size(200,200).tofile(outfile);
        // 修改像素
        thumbnails.of(infile).size(200,200).tofile(outfile);
        // 缩小
        thumbnails.of(infile).scale(0.5f).tofile(outfile);
        // 扩大
        thumbnails.of(infile).scale(2f).tofile(outfile);
        // 压缩质量
        thumbnails.of(infile).outputquality(0.5f).tofile(outfile);
        // 旋转
        thumbnails.of(infile).rotate(90).tofile(outfile);
        // 图片水印
        file waterfile = new file("c:/images/water.jpg");
        thumbnails.of(infile).watermark(positions.bottom_center, imageio.read(waterfile),0.5f).tofile(outfile);
        // 文字水印
        bufferedimage bi = new bufferedimage(80,30,bufferedimage.type_int_bgr);
        graphics2d g = bi.creategraphics();
        g.setcolor(color.lightgray);
        g.drawrect(0,0,50,10);
        g.drawstring("文字水印", 20,20);
        thumbnails.of(infile).watermark(positions.bottom_left, bi, 0.5f).tofile(outfile);
        // 转化图片格式
        thumbnails.of(infile).outputformattype("png").tofile(outfile);
    }

}

4.参考资料

github地址:

maven地址:

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网