图片工具-ImgUtil

介绍

针对awt中图片处理进行封装,这些封装包括:缩放、裁剪、转为黑白、加水印等操作。

方法介绍

scale 缩放图片

提供两种重载方法:其中一个是按照长宽缩放,另一种是按照比例缩放。

  1. ImgUtil.scale(
  2. FileUtil.file("d:/face.jpg"),
  3. FileUtil.file("d:/face_result.jpg"),
  4. 0.5f//缩放比例
  5. );

cut 剪裁图片

  1. ImgUtil.cut(
  2. FileUtil.file("d:/face.jpg"),
  3. FileUtil.file("d:/face_result.jpg"),
  4. new Rectangle(200, 200, 100, 100)//裁剪的矩形区域
  5. );

slice 按照行列剪裁切片(将图片分为20行和20列)

  1. ImgUtil.slice(FileUtil.file("e:/test2.png"), FileUtil.file("e:/dest/"), 10, 10);

convert 图片类型转换,支持GIF->JPG、GIF->PNG、PNG->JPG、PNG->GIF(X)、BMP->PNG等

  1. ImgUtil.convert(FileUtil.file("e:/test2.png"), FileUtil.file("e:/test2Convert.jpg"));

gray 彩色转为黑白

  1. ImgUtil.gray(FileUtil.file("d:/logo.png"), FileUtil.file("d:/result.png"));

pressText 添加文字水印

  1. ImgUtil.pressText(//
  2. FileUtil.file("e:/pic/face.jpg"), //
  3. FileUtil.file("e:/pic/test2_result.png"), //
  4. "版权所有", Color.WHITE, //文字
  5. new Font("黑体", Font.BOLD, 100), //字体
  6. 0, //x坐标修正值。 默认在中间,偏移量相对于中间偏移
  7. 0, //y坐标修正值。 默认在中间,偏移量相对于中间偏移
  8. 0.8f//透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
  9. );

pressImage 添加图片水印

  1. ImgUtil.pressImage(
  2. FileUtil.file("d:/picTest/1.jpg"),
  3. FileUtil.file("d:/picTest/dest.jpg"),
  4. ImgUtil.read(FileUtil.file("d:/picTest/1432613.jpg")), //水印图片
  5. 0, //x坐标修正值。 默认在中间,偏移量相对于中间偏移
  6. 0, //y坐标修正值。 默认在中间,偏移量相对于中间偏移
  7. 0.1f
  8. );

rotate 旋转图片

  1. // 旋转180度
  2. BufferedImage image = ImgUtil.rotate(ImageIO.read(FileUtil.file("e:/pic/366466.jpg")), 180);
  3. ImgUtil.write(image, FileUtil.file("e:/pic/result.png"));

flip 水平翻转图片

  1. ImgUtil.flip(FileUtil.file("d:/logo.png"), FileUtil.file("d:/result.png"));