Class ImageKit

java.lang.Object
org.aoju.bus.core.toolkit.ImageKit

public class ImageKit extends Object
图片处理工具类: 功能:缩放图像、切割图像、旋转、图像类型转换 彩色转黑白、文字水印、图片水印等
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • ImageKit

      public ImageKit()
  • Method Details

    • scale

      public static void scale(File srcImageFile, File destImageFile, float scale)
      缩放图像(按比例缩放) 缩放后默认为jpeg格式
      Parameters:
      srcImageFile - 源图像文件
      destImageFile - 缩放后的图像文件
      scale - 缩放比例 比例大于1时为放大,小于1大于0为缩小
    • scale

      public static void scale(InputStream srcStream, OutputStream destStream, float scale)
      缩放图像(按比例缩放) 缩放后默认为jpeg格式,此方法并不关闭流
      Parameters:
      srcStream - 源图像来源流
      destStream - 缩放后的图像写出到的流
      scale - 缩放比例 比例大于1时为放大,小于1大于0为缩小
    • scale

      public static void scale(ImageInputStream srcStream, ImageOutputStream destStream, float scale)
      缩放图像(按比例缩放) 缩放后默认为jpeg格式,此方法并不关闭流
      Parameters:
      srcStream - 源图像来源流
      destStream - 缩放后的图像写出到的流
      scale - 缩放比例 比例大于1时为放大,小于1大于0为缩小
    • scale

      public static void scale(Image srcImage, File destFile, float scale) throws InternalException
      缩放图像(按比例缩放) 缩放后默认为jpeg格式,此方法并不关闭流
      Parameters:
      srcImage - 源图像来源流
      destFile - 缩放后的图像写出到的流
      scale - 缩放比例 比例大于1时为放大,小于1大于0为缩小
      Throws:
      InternalException - IO异常
    • scale

      public static void scale(Image srcImage, OutputStream out, float scale) throws InternalException
      缩放图像(按比例缩放) 缩放后默认为jpeg格式,此方法并不关闭流
      Parameters:
      srcImage - 源图像来源流
      out - 缩放后的图像写出到的流
      scale - 缩放比例 比例大于1时为放大,小于1大于0为缩小
      Throws:
      InternalException - IO异常
    • scale

      public static void scale(Image srcImage, ImageOutputStream destImageStream, float scale) throws InternalException
      缩放图像(按比例缩放) 缩放后默认为jpeg格式,此方法并不关闭流
      Parameters:
      srcImage - 源图像来源流
      destImageStream - 缩放后的图像写出到的流
      scale - 缩放比例 比例大于1时为放大,小于1大于0为缩小
      Throws:
      InternalException - IO异常
    • scale

      public static Image scale(Image srcImage, float scale)
      缩放图像(按比例缩放)
      Parameters:
      srcImage - 源图像来源流
      scale - 缩放比例 比例大于1时为放大,小于1大于0为缩小
      Returns:
      Image
    • scale

      public static Image scale(Image srcImage, int width, int height)
      缩放图像(按长宽缩放) 注意:目标长宽与原图不成比例会变形
      Parameters:
      srcImage - 源图像来源流
      width - 目标宽度
      height - 目标高度
      Returns:
      Image
    • scale

      public static void scale(File srcImageFile, File destImageFile, int width, int height, Color fixedColor) throws InternalException
      缩放图像(按高度和宽度缩放) 缩放后默认为jpeg格式
      Parameters:
      srcImageFile - 源图像文件地址
      destImageFile - 缩放后的图像地址
      width - 缩放后的宽度
      height - 缩放后的高度
      fixedColor - 比例不对时补充的颜色,不补充为null
      Throws:
      InternalException - IO异常
    • scale

      public static void scale(InputStream srcStream, OutputStream destStream, int width, int height, Color fixedColor) throws InternalException
      缩放图像(按高度和宽度缩放) 缩放后默认为jpeg格式,此方法并不关闭流
      Parameters:
      srcStream - 源图像流
      destStream - 缩放后的图像目标流
      width - 缩放后的宽度
      height - 缩放后的高度
      fixedColor - 比例不对时补充的颜色,不补充为null
      Throws:
      InternalException - IO异常
    • scale

      public static void scale(ImageInputStream srcStream, ImageOutputStream destStream, int width, int height, Color fixedColor) throws InternalException
      缩放图像(按高度和宽度缩放) 缩放后默认为jpeg格式,此方法并不关闭流
      Parameters:
      srcStream - 源图像流
      destStream - 缩放后的图像目标流
      width - 缩放后的宽度
      height - 缩放后的高度
      fixedColor - 比例不对时补充的颜色,不补充为null
      Throws:
      InternalException - IO异常
    • scale

      public static void scale(Image srcImage, ImageOutputStream destImageStream, int width, int height, Color fixedColor) throws InternalException
      缩放图像(按高度和宽度缩放) 缩放后默认为jpeg格式,此方法并不关闭流
      Parameters:
      srcImage - 源图像
      destImageStream - 缩放后的图像目标流
      width - 缩放后的宽度
      height - 缩放后的高度
      fixedColor - 比例不对时补充的颜色,不补充为null
      Throws:
      InternalException - IO异常
    • scale

      public static Image scale(Image srcImage, int width, int height, Color fixedColor)
      缩放图像(按高度和宽度缩放) 缩放后默认为jpeg格式
      Parameters:
      srcImage - 源图像
      width - 缩放后的宽度
      height - 缩放后的高度
      fixedColor - 比例不对时补充的颜色,不补充为null
      Returns:
      Image
    • cut

      public static void cut(File srcImgFile, File destImgFile, Rectangle rectangle)
      图像切割(按指定起点坐标和宽高切割)
      Parameters:
      srcImgFile - 源图像文件
      destImgFile - 切片后的图像文件
      rectangle - 矩形对象,表示矩形区域的x,y,width,height
    • cut

      public static void cut(InputStream srcStream, OutputStream destStream, Rectangle rectangle)
      图像切割(按指定起点坐标和宽高切割),此方法并不关闭流
      Parameters:
      srcStream - 源图像流
      destStream - 切片后的图像输出流
      rectangle - 矩形对象,表示矩形区域的x,y,width,height
    • cut

      public static void cut(ImageInputStream srcStream, ImageOutputStream destStream, Rectangle rectangle)
      图像切割(按指定起点坐标和宽高切割),此方法并不关闭流
      Parameters:
      srcStream - 源图像流
      destStream - 切片后的图像输出流
      rectangle - 矩形对象,表示矩形区域的x,y,width,height
    • cut

      public static void cut(Image srcImage, File destFile, Rectangle rectangle) throws InternalException
      图像切割(按指定起点坐标和宽高切割),此方法并不关闭流
      Parameters:
      srcImage - 源图像
      destFile - 输出的文件
      rectangle - 矩形对象,表示矩形区域的x,y,width,height
      Throws:
      InternalException - IO异常
    • cut

      public static void cut(Image srcImage, OutputStream out, Rectangle rectangle) throws InternalException
      图像切割(按指定起点坐标和宽高切割),此方法并不关闭流
      Parameters:
      srcImage - 源图像
      out - 切片后的图像输出流
      rectangle - 矩形对象,表示矩形区域的x,y,width,height
      Throws:
      InternalException - IO异常
    • cut

      public static void cut(Image srcImage, ImageOutputStream destImageStream, Rectangle rectangle) throws InternalException
      图像切割(按指定起点坐标和宽高切割),此方法并不关闭流
      Parameters:
      srcImage - 源图像
      destImageStream - 切片后的图像输出流
      rectangle - 矩形对象,表示矩形区域的x,y,width,height
      Throws:
      InternalException - IO异常
    • cut

      public static Image cut(Image srcImage, Rectangle rectangle)
      图像切割(按指定起点坐标和宽高切割)
      Parameters:
      srcImage - 源图像
      rectangle - 矩形对象,表示矩形区域的x,y,width,height
      Returns:
      BufferedImage
    • cut

      public static Image cut(Image srcImage, int x, int y)
      图像切割(按指定起点坐标和宽高切割),填充满整个图片(直径取长宽最小值)
      Parameters:
      srcImage - 源图像
      x - 原图的x坐标起始位置
      y - 原图的y坐标起始位置
      Returns:
      Image
    • cut

      public static Image cut(Image srcImage, int x, int y, int radius)
      图像切割(按指定起点坐标和宽高切割)
      Parameters:
      srcImage - 源图像
      x - 原图的x坐标起始位置
      y - 原图的y坐标起始位置
      radius - 半径,小于0表示填充满整个图片(直径取长宽最小值)
      Returns:
      Image
    • slice

      public static void slice(File srcImageFile, File descDir, int destWidth, int destHeight)
      图像切片(指定切片的宽度和高度)
      Parameters:
      srcImageFile - 源图像
      descDir - 切片目标文件夹
      destWidth - 目标切片宽度 默认200
      destHeight - 目标切片高度 默认150
    • slice

      public static void slice(Image srcImage, File descDir, int destWidth, int destHeight)
      图像切片(指定切片的宽度和高度)
      Parameters:
      srcImage - 源图像
      descDir - 切片目标文件夹
      destWidth - 目标切片宽度 默认200
      destHeight - 目标切片高度 默认150
    • sliceByRowsAndCols

      public static void sliceByRowsAndCols(File srcImageFile, File destDir, int rows, int cols)
      图像切割(指定切片的行数和列数)
      Parameters:
      srcImageFile - 源图像文件
      destDir - 切片目标文件夹
      rows - 目标切片行数 默认2,必须是范围 [1, 20] 之内
      cols - 目标切片列数 默认2,必须是范围 [1, 20] 之内
    • sliceByRowsAndCols

      public static void sliceByRowsAndCols(File srcImageFile, File destDir, String format, int rows, int cols)
      图像切割(指定切片的行数和列数)
      Parameters:
      srcImageFile - 源图像文件
      destDir - 切片目标文件夹
      format - 目标文件格式
      rows - 目标切片行数 默认2,必须是范围 [1, 20] 之内
      cols - 目标切片列数 默认2,必须是范围 [1, 20] 之内
    • sliceByRowsAndCols

      public static void sliceByRowsAndCols(Image srcImage, File destDir, String format, int rows, int cols)
      图像切割(指定切片的行数和列数)
      Parameters:
      srcImage - 源图像
      destDir - 切片目标文件夹
      format - 目标文件格式
      rows - 目标切片行数 默认2,必须是范围 [1, 20] 之内
      cols - 目标切片列数 默认2,必须是范围 [1, 20] 之内
    • convert

      public static void convert(File srcImageFile, File destImageFile)
      图像类型转换:GIF= JPG、GIF= PNG、PNG= JPG、PNG= GIF(X)、BMP= PNG
      Parameters:
      srcImageFile - 源图像文件
      destImageFile - 目标图像文件
    • convert

      public static void convert(InputStream srcStream, String formatName, OutputStream destStream)
      图像类型转换:GIF= JPG、GIF= PNG、PNG= JPG、PNG= GIF(X)、BMP= PNG 此方法并不关闭流
      Parameters:
      srcStream - 源图像流
      formatName - 包含格式非正式名称的 String:如JPG、JPEG、GIF等
      destStream - 目标图像输出流
    • convert

      public static void convert(Image srcImage, String formatName, ImageOutputStream destImageStream, boolean isSrcPng)
      图像类型转换:GIF= JPG、GIF= PNG、PNG= JPG、PNG= GIF(X)、BMP= PNG 此方法并不关闭流
      Parameters:
      srcImage - 源图像流
      formatName - 包含格式非正式名称的 String:如JPG、JPEG、GIF等
      destImageStream - 目标图像输出流
      isSrcPng - 源图片是否为PNG格式
    • gray

      public static void gray(File srcImageFile, File destImageFile)
      彩色转为黑白
      Parameters:
      srcImageFile - 源图像地址
      destImageFile - 目标图像地址
    • gray

      public static void gray(InputStream srcStream, OutputStream destStream)
      彩色转为黑白 此方法并不关闭流
      Parameters:
      srcStream - 源图像流
      destStream - 目标图像流
    • gray

      public static void gray(ImageInputStream srcStream, ImageOutputStream destStream)
      彩色转为黑白 此方法并不关闭流
      Parameters:
      srcStream - 源图像流
      destStream - 目标图像流
    • gray

      public static void gray(Image srcImage, File outFile)
      彩色转为黑白
      Parameters:
      srcImage - 源图像流
      outFile - 目标文件
    • gray

      public static void gray(Image srcImage, OutputStream out)
      彩色转为黑白 此方法并不关闭流
      Parameters:
      srcImage - 源图像流
      out - 目标图像流
    • gray

      public static void gray(Image srcImage, ImageOutputStream destImageStream) throws InternalException
      彩色转为黑白 此方法并不关闭流
      Parameters:
      srcImage - 源图像流
      destImageStream - 目标图像流
      Throws:
      InternalException - IO异常
    • gray

      public static Image gray(Image srcImage)
      彩色转为黑白
      Parameters:
      srcImage - 源图像流
      Returns:
      Image灰度后的图片
    • binary

      public static void binary(File srcImageFile, File destImageFile)
      彩色转为黑白二值化图片,根据目标文件扩展名确定转换后的格式
      Parameters:
      srcImageFile - 源图像地址
      destImageFile - 目标图像地址
    • binary

      public static void binary(InputStream srcStream, OutputStream destStream, String imageType)
      彩色转为黑白二值化图片 此方法并不关闭流
      Parameters:
      srcStream - 源图像流
      destStream - 目标图像流
      imageType - 图片格式(扩展名)
    • binary

      public static void binary(ImageInputStream srcStream, ImageOutputStream destStream, String imageType)
      彩色转为黑白黑白二值化图片 此方法并不关闭流
      Parameters:
      srcStream - 源图像流
      destStream - 目标图像流
      imageType - 图片格式(扩展名)
    • binary

      public static void binary(Image srcImage, File outFile)
      彩色转为黑白二值化图片,根据目标文件扩展名确定转换后的格式
      Parameters:
      srcImage - 源图像流
      outFile - 目标文件
    • binary

      public static void binary(Image srcImage, OutputStream out, String imageType)
      彩色转为黑白二值化图片 此方法并不关闭流,输出JPG格式
      Parameters:
      srcImage - 源图像流
      out - 目标图像流
      imageType - 图片格式(扩展名)
    • binary

      public static void binary(Image srcImage, ImageOutputStream destImageStream, String imageType) throws InternalException
      彩色转为黑白二值化图片 此方法并不关闭流,输出JPG格式
      Parameters:
      srcImage - 源图像流
      destImageStream - 目标图像流
      imageType - 图片格式(扩展名)
      Throws:
      InternalException - IO异常
    • binary

      public static Image binary(Image srcImage)
      彩色转为黑白二值化图片
      Parameters:
      srcImage - 源图像流
      Returns:
      Image二值化后的图片
    • pressText

      public static void pressText(File imageFile, File destFile, String pressText, Color color, Font font, int x, int y, float alpha)
      给图片添加文字水印
      Parameters:
      imageFile - 源图像文件
      destFile - 目标图像文件
      pressText - 水印文字
      color - 水印的字体颜色
      font - Font 字体相关信息,如果默认则为null
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
    • pressText

      public static void pressText(InputStream srcStream, OutputStream destStream, String pressText, Color color, Font font, int x, int y, float alpha)
      给图片添加文字水印 此方法并不关闭流
      Parameters:
      srcStream - 源图像流
      destStream - 目标图像流
      pressText - 水印文字
      color - 水印的字体颜色
      font - Font 字体相关信息,如果默认则为null
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
    • pressText

      public static void pressText(ImageInputStream srcStream, ImageOutputStream destStream, String pressText, Color color, Font font, int x, int y, float alpha)
      给图片添加文字水印 此方法并不关闭流
      Parameters:
      srcStream - 源图像流
      destStream - 目标图像流
      pressText - 水印文字
      color - 水印的字体颜色
      font - Font 字体相关信息,如果默认则为null
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
    • pressText

      public static void pressText(Image srcImage, File destFile, String pressText, Color color, Font font, int x, int y, float alpha) throws InternalException
      给图片添加文字水印 此方法并不关闭流
      Parameters:
      srcImage - 源图像
      destFile - 目标流
      pressText - 水印文字
      color - 水印的字体颜色
      font - Font 字体相关信息,如果默认则为null
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
      Throws:
      InternalException - IO异常
    • pressText

      public static void pressText(Image srcImage, OutputStream to, String pressText, Color color, Font font, int x, int y, float alpha) throws InternalException
      给图片添加文字水印 此方法并不关闭流
      Parameters:
      srcImage - 源图像
      to - 目标流
      pressText - 水印文字
      color - 水印的字体颜色
      font - Font 字体相关信息,如果默认则为null
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
      Throws:
      InternalException - IO异常
    • pressText

      public static void pressText(Image srcImage, ImageOutputStream destImageStream, String pressText, Color color, Font font, int x, int y, float alpha) throws InternalException
      给图片添加文字水印 此方法并不关闭流
      Parameters:
      srcImage - 源图像
      destImageStream - 目标图像流
      pressText - 水印文字
      color - 水印的字体颜色
      font - Font 字体相关信息,如果默认则为null
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
      Throws:
      InternalException - IO异常
    • pressText

      public static Image pressText(Image srcImage, String pressText, Color color, Font font, int x, int y, float alpha)
      给图片添加文字水印 此方法并不关闭流
      Parameters:
      srcImage - 源图像
      pressText - 水印文字
      color - 水印的字体颜色
      font - Font 字体相关信息,如果默认则为null
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
      Returns:
      处理后的图像
    • pressImage

      public static void pressImage(File srcImageFile, File destImageFile, Image pressImage, int x, int y, float alpha)
      给图片添加图片水印
      Parameters:
      srcImageFile - 源图像文件
      destImageFile - 目标图像文件
      pressImage - 水印图片
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
    • pressImage

      public static void pressImage(InputStream srcStream, OutputStream destStream, Image pressImage, int x, int y, float alpha)
      给图片添加图片水印 此方法并不关闭流
      Parameters:
      srcStream - 源图像流
      destStream - 目标图像流
      pressImage - 水印图片,可以使用ImageIO.read(File)方法读取文件
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
    • pressImage

      public static void pressImage(ImageInputStream srcStream, ImageOutputStream destStream, Image pressImage, int x, int y, float alpha) throws InternalException
      给图片添加图片水印 此方法并不关闭流
      Parameters:
      srcStream - 源图像流
      destStream - 目标图像流
      pressImage - 水印图片,可以使用ImageIO.read(File)方法读取文件
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
      Throws:
      InternalException - IO异常
    • pressImage

      public static void pressImage(Image srcImage, File outFile, Image pressImage, int x, int y, float alpha) throws InternalException
      给图片添加图片水印 此方法并不关闭流
      Parameters:
      srcImage - 源图像流
      outFile - 写出文件
      pressImage - 水印图片,可以使用ImageIO.read(File)方法读取文件
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
      Throws:
      InternalException - IO异常
    • pressImage

      public static void pressImage(Image srcImage, OutputStream out, Image pressImage, int x, int y, float alpha) throws InternalException
      给图片添加图片水印 此方法并不关闭流
      Parameters:
      srcImage - 源图像流
      out - 目标图像流
      pressImage - 水印图片,可以使用ImageIO.read(File)方法读取文件
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
      Throws:
      InternalException - IO异常
    • pressImage

      public static void pressImage(Image srcImage, ImageOutputStream destImageStream, Image pressImage, int x, int y, float alpha) throws InternalException
      给图片添加图片水印 此方法并不关闭流
      Parameters:
      srcImage - 源图像流
      destImageStream - 目标图像流
      pressImage - 水印图片,可以使用ImageIO.read(File)方法读取文件
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
      Throws:
      InternalException - IO异常
    • pressImage

      public static Image pressImage(Image srcImage, Image pressImage, int x, int y, float alpha)
      给图片添加图片水印 此方法并不关闭流
      Parameters:
      srcImage - 源图像流
      pressImage - 水印图片,可以使用ImageIO.read(File)方法读取文件
      x - 修正值 默认在中间,偏移量相对于中间偏移
      y - 修正值 默认在中间,偏移量相对于中间偏移
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
      Returns:
      结果图片
    • pressImage

      public static Image pressImage(Image srcImage, Image pressImage, Rectangle rectangle, float alpha)
      给图片添加图片水印 此方法并不关闭流
      Parameters:
      srcImage - 源图像流
      pressImage - 水印图片,可以使用ImageIO.read(File)方法读取文件
      rectangle - 矩形对象,表示矩形区域的x,y,width,height,x,y从背景图片中心计算
      alpha - 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字
      Returns:
      结果图片
    • rotate

      public static void rotate(File imageFile, int degree, File outFile) throws InternalException
      旋转图片为指定角度 此方法不会关闭输出流
      Parameters:
      imageFile - 被旋转图像文件
      degree - 旋转角度
      outFile - 输出文件
      Throws:
      InternalException - IO异常
    • rotate

      public static void rotate(Image image, int degree, File outFile) throws InternalException
      旋转图片为指定角度 此方法不会关闭输出流
      Parameters:
      image - 目标图像
      degree - 旋转角度
      outFile - 输出文件
      Throws:
      InternalException - IO异常
    • rotate

      public static void rotate(Image image, int degree, OutputStream out) throws InternalException
      旋转图片为指定角度 此方法不会关闭输出流
      Parameters:
      image - 目标图像
      degree - 旋转角度
      out - 输出流
      Throws:
      InternalException - IO异常
    • rotate

      public static void rotate(Image image, int degree, ImageOutputStream out) throws InternalException
      旋转图片为指定角度 此方法不会关闭输出流,输出格式为JPG
      Parameters:
      image - 目标图像
      degree - 旋转角度
      out - 输出图像流
      Throws:
      InternalException - IO异常
    • rotate

      public static Image rotate(Image image, int degree)
      旋转图片为指定角度 来自:http://blog.51cto.com/cping1982/130066
      Parameters:
      image - 目标图像
      degree - 旋转角度
      Returns:
      旋转后的图片
    • flip

      public static void flip(File imageFile, File outFile) throws InternalException
      水平翻转图像
      Parameters:
      imageFile - 图像文件
      outFile - 输出文件
      Throws:
      InternalException - IO异常
    • flip

      public static void flip(Image image, File outFile) throws InternalException
      水平翻转图像
      Parameters:
      image - 图像
      outFile - 输出文件
      Throws:
      InternalException - IO异常
    • flip

      public static void flip(Image image, OutputStream out) throws InternalException
      水平翻转图像
      Parameters:
      image - 图像
      out - 输出
      Throws:
      InternalException - IO异常
    • flip

      public static void flip(Image image, ImageOutputStream out) throws InternalException
      水平翻转图像,写出格式为JPG
      Parameters:
      image - 图像
      out - 输出
      Throws:
      InternalException - IO异常
    • flip

      public static Image flip(Image image)
      水平翻转图像
      Parameters:
      image - 图像
      Returns:
      翻转后的图片
    • compress

      public static void compress(File imageFile, File outFile, float quality) throws InternalException
      压缩图像,输出图像只支持jpg文件
      Parameters:
      imageFile - 图像文件
      outFile - 输出文件,只支持jpg文件
      quality - 质量
      Throws:
      InternalException - IO异常
    • toRenderedImage

      public static RenderedImage toRenderedImage(Image image)
      ImageRenderedImage 首先尝试强转,否则新建一个BufferedImage后重新绘制
      Parameters:
      image - Image
      Returns:
      BufferedImage
    • toBufferedImage

      public static BufferedImage toBufferedImage(Image img)
      ImageBufferedImage 首先尝试强转,否则新建一个BufferedImage后重新绘制,使用 BufferedImage.TYPE_INT_RGB 模式
      Parameters:
      img - Image
      Returns:
      BufferedImage
    • toBufferedImage

      public static BufferedImage toBufferedImage(Image image, String imageType)
      ImageBufferedImage 如果源图片的RGB模式与目标模式一致,则直接转换,否则重新绘制 默认的,png图片使用 BufferedImage.TYPE_INT_ARGB模式,其它使用 BufferedImage.TYPE_INT_RGB 模式
      Parameters:
      image - Image
      imageType - 目标图片类型,例如jpg或png等
      Returns:
      BufferedImage
    • toBufferedImage

      public static BufferedImage toBufferedImage(Image image, int imageType)
      ImageBufferedImage 如果源图片的RGB模式与目标模式一致,则直接转换,否则重新绘制
      Parameters:
      image - Image
      imageType - 目标图片类型,BufferedImage中的常量,例如黑白等
      Returns:
      BufferedImage
    • copyImage

      public static BufferedImage copyImage(Image image, int imageType)
      将已有Image复制新的一份出来
      Parameters:
      image - Image
      imageType - 目标图片类型,BufferedImage中的常量,例如黑白等
      Returns:
      BufferedImage
      See Also:
    • copyImage

      public static BufferedImage copyImage(Image image, int imageType, Color backgroundColor)
      将已有Image复制新的一份出来
      Parameters:
      image - Image
      imageType - 目标图片类型,BufferedImage中的常量,例如黑白等
      backgroundColor - 背景色,null 表示默认背景色(黑色或者透明)
      Returns:
      BufferedImage
      See Also:
    • toImage

      public static BufferedImage toImage(String base64) throws InternalException
      将Base64编码的图像信息转为 BufferedImage
      Parameters:
      base64 - 图像的Base64表示
      Returns:
      BufferedImage
      Throws:
      InternalException - IO异常
    • toImage

      public static BufferedImage toImage(byte[] imageBytes) throws InternalException
      将的图像bytes转为 BufferedImage
      Parameters:
      imageBytes - 图像bytes
      Returns:
      BufferedImage
      Throws:
      InternalException - IO异常
    • toStream

      public static ByteArrayInputStream toStream(Image image, String imageType)
      将图片对象转换为InputStream形式
      Parameters:
      image - 图片对象
      imageType - 图片类型
      Returns:
      Base64的字符串表现形式
    • toBase64

      public static String toBase64(Image image, String imageType)
      将图片对象转换为Base64形式
      Parameters:
      image - 图片对象
      imageType - 图片类型
      Returns:
      Base64的字符串表现形式
    • toBase64Uri

      public static String toBase64Uri(Image image, String imageType)
      将图片对象转换为Base64的Data URI形式,格式为:data:image/[imageType];base64,[data]
      Parameters:
      image - 图片对象
      imageType - 图片类型
      Returns:
      Base64的字符串表现形式
    • toBytes

      public static byte[] toBytes(Image image, String imageType)
      将图片对象转换为bytes形式
      Parameters:
      image - 图片对象
      imageType - 图片类型
      Returns:
      Base64的字符串表现形式
    • createImage

      public static void createImage(String text, Font font, Color backgroundColor, Color fontColor, ImageOutputStream out)
      根据文字创建PNG图片
      Parameters:
      text - 文字
      font - 字体Font
      backgroundColor - 背景颜色,默认透明
      fontColor - 字体颜色,默认黑色
      out - 图片输出地
    • createImage

      public static BufferedImage createImage(String text, Font font, Color backgroundColor, Color fontColor, int imageType)
      根据文字创建图片
      Parameters:
      text - 文字
      font - 字体Font
      backgroundColor - 背景颜色,默认透明
      fontColor - 字体颜色,默认黑色
      imageType - 图片类型,见:BufferedImage
      Returns:
      图片
    • getRectangle

      public static Rectangle2D getRectangle(String text, Font font)
      获取font的样式应用在str上的整个矩形
      Parameters:
      text - 字符串,必须非空
      font - 字体,必须非空
      Returns:
      Rectangle2D
    • writeJpg

      public static void writeJpg(Image image, ImageOutputStream destImageStream) throws InternalException
      写出图像为JPG格式
      Parameters:
      image - Image
      destImageStream - 写出到的目标流
      Throws:
      InternalException - IO异常
    • writePng

      public static void writePng(Image image, ImageOutputStream destImageStream) throws InternalException
      写出图像为PNG格式
      Parameters:
      image - Image
      destImageStream - 写出到的目标流
      Throws:
      InternalException - IO异常
    • writeJpg

      public static void writeJpg(Image image, OutputStream out) throws InternalException
      写出图像为JPG格式
      Parameters:
      image - Image
      out - 写出到的目标流
      Throws:
      InternalException - IO异常
    • writePng

      public static void writePng(Image image, OutputStream out) throws InternalException
      写出图像为PNG格式
      Parameters:
      image - Image
      out - 写出到的目标流
      Throws:
      InternalException - IO异常
    • write

      public static void write(Image image, String imageType, OutputStream out) throws InternalException
      写出图像
      Parameters:
      image - Image
      imageType - 图片类型(图片扩展名)
      out - 写出到的目标流
      Throws:
      InternalException - IO异常
    • write

      public static boolean write(Image image, String imageType, ImageOutputStream destImageStream) throws InternalException
      写出图像为指定格式
      Parameters:
      image - Image
      imageType - 图片类型(图片扩展名)
      destImageStream - 写出到的目标流
      Returns:
      是否成功写出, 如果返回false表示未找到合适的Writer
      Throws:
      InternalException - IO异常
    • write

      public static boolean write(Image image, String imageType, ImageOutputStream destImageStream, float quality) throws InternalException
      写出图像为指定格式
      Parameters:
      image - Image
      imageType - 图片类型(图片扩展名)
      destImageStream - 写出到的目标流
      quality - 质量,数字为0~1(不包括0和1)表示质量压缩比,除此数字外设置表示不压缩
      Returns:
      是否成功写出, 如果返回false表示未找到合适的Writer
      Throws:
      InternalException - IO异常
    • write

      public static void write(Image image, File targetFile) throws InternalException
      写出图像为目标文件扩展名对应的格式
      Parameters:
      image - Image
      targetFile - 目标文件
      Throws:
      InternalException - IO异常
    • write

      public static boolean write(Image image, ImageWriter writer, ImageOutputStream output, float quality)
      通过ImageWriter写出图片到输出流
      Parameters:
      image - 图片
      writer - ImageWriter
      output - 输出的Image流ImageOutputStream
      quality - 质量,数字为0~1(不包括0和1)表示质量压缩比,除此数字外设置表示不压缩
      Returns:
      是否成功写出
    • getReader

      public static ImageReader getReader(String type)
      Parameters:
      type - 图片文件类型,例如 "jpeg" 或 "tiff"
      Returns:
      ImageReader
    • read

      public static BufferedImage read(String imageFilePath)
      从文件中读取图片,请使用绝对路径,使用相对路径会相对于ClassPath
      Parameters:
      imageFilePath - 图片文件路径
      Returns:
      图片
    • read

      public static BufferedImage read(File imageFile)
      从文件中读取图片
      Parameters:
      imageFile - 图片文件
      Returns:
      图片
    • read

      public static BufferedImage read(Resource resource)
      Resource中读取图片
      Parameters:
      resource - 图片资源
      Returns:
      图片
    • read

      public static BufferedImage read(InputStream imageStream)
      从流中读取图片
      Parameters:
      imageStream - 图片文件
      Returns:
      图片
    • read

      public static BufferedImage read(ImageInputStream imageStream)
      从图片流中读取图片
      Parameters:
      imageStream - 图片文件
      Returns:
      图片
    • read

      public static BufferedImage read(URL imageUrl)
      从URL中读取图片
      Parameters:
      imageUrl - 图片文件
      Returns:
      图片
    • getImageOutputStream

      public static ImageOutputStream getImageOutputStream(OutputStream out) throws InternalException
      Parameters:
      out - OutputStream
      Returns:
      ImageOutputStream
      Throws:
      InternalException - IO异常
    • getImageOutputStream

      public static ImageOutputStream getImageOutputStream(File outFile) throws InternalException
      Parameters:
      outFile - File
      Returns:
      ImageOutputStream
      Throws:
      InternalException - IO异常
    • getImageInputStream

      public static ImageInputStream getImageInputStream(InputStream in) throws InternalException
      Parameters:
      in - InputStream
      Returns:
      ImageInputStream
      Throws:
      InternalException - IO异常
    • getWriter

      public static ImageWriter getWriter(Image image, String formatName)
      根据给定的Image对象和格式获取对应的ImageWriter,如果未找到合适的Writer,返回null
      Parameters:
      image - Image
      formatName - 图片格式,例如"jpg"、"png"
      Returns:
      ImageWriter
    • getWriter

      public static ImageWriter getWriter(String formatName)
      根据给定的图片格式或者扩展名获取ImageWriter,如果未找到合适的Writer,返回null
      Parameters:
      formatName - 图片格式或扩展名,例如"jpg"、"png"
      Returns:
      ImageWriter
    • toHex

      public static String toHex(Color color)
      Color对象转16进制表示,例如#fcf6d6
      Parameters:
      color - Color
      Returns:
      16进制的颜色值, 例如#fcf6d6
    • toHex

      public static String toHex(int r, int g, int b)
      RGB颜色值转换成十六进制颜色码
      Parameters:
      r - 红(R)
      g - 绿(G)
      b - 蓝(B)
      Returns:
      返回字符串形式的 十六进制颜色码 如
    • hexToColor

      public static Color hexToColor(String hex)
      16进制的颜色值转换为Color对象,例如#fcf6d6
      Parameters:
      hex - 16进制的颜色值,例如#fcf6d6
      Returns:
      Color
    • getColor

      public static Color getColor(int rgb)
      获取一个RGB值对应的颜色
      Parameters:
      rgb - RGB值
      Returns:
      Color
    • getColor

      public static Color getColor(String colorName)
      将颜色值转换成具体的颜色类型 汇集了常用的颜色集,支持以下几种形式:
       1. 颜色的英文名(大小写皆可)
       2. 16进制表示,例如:#fcf6d6或者$fcf6d6
       3. RGB形式,例如:13,148,252
       

      方法来自:com.lnwazg.kit

      Parameters:
      colorName - 颜色的英文名,16进制表示或RGB表示
      Returns:
      Color
    • randomColor

      public static Color randomColor()
      生成随机颜色
      Returns:
      随机颜色
    • randomColor

      public static Color randomColor(Random random)
      生成随机颜色
      Parameters:
      random - 随机对象 Random
      Returns:
      随机颜色
    • merge

      public static Images merge(BufferedImage srcImage, String fileType)
      图片合成
      Parameters:
      srcImage - 背景图片对象(画布以背景图宽高为基准)
      fileType - 输出图片格式
      Returns:
      Images
    • merge

      public static Images merge(String imageUrl, String fileType)
      图片合成
      Parameters:
      imageUrl - 背景图片地址(画布以背景图宽高为基准)
      fileType - 输出图片格式
      Returns:
      Images
    • getMainColor

      public static String getMainColor(BufferedImage image, int[]... rgbFilters)
      获取给定图片的主色调,背景填充用
      Parameters:
      image - BufferedImage
      rgbFilters - 过滤多种颜色
      Returns:
      String #ffffff
    • remove

      public static boolean remove(String inputPath, String outputPath, int tolerance)
      背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.
      Parameters:
      inputPath - 要处理图片的路径
      outputPath - 输出图片的路径
      tolerance - 容差值[根据图片的主题色,加入容差值,值的范围在0~255之间]
      Returns:
      返回处理结果 true:图片处理完成 false:图片处理失败
    • remove

      public static boolean remove(File input, File output, int tolerance)
      背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.
      Parameters:
      input - 需要进行操作的图片
      output - 最后输出的文件
      tolerance - 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]
      Returns:
      返回处理结果 true:图片处理完成 false:图片处理失败
    • remove

      public static boolean remove(File input, File output, Color override, int tolerance)
      背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.
      Parameters:
      input - 需要进行操作的图片
      output - 最后输出的文件
      override - 指定替换成的背景颜色 为null时背景为透明
      tolerance - 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]
      Returns:
      返回处理结果 true:图片处理完成 false:图片处理失败
    • remove

      public static BufferedImage remove(BufferedImage bufferedImage, Color override, int tolerance)
      背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.
      Parameters:
      bufferedImage - 需要进行处理的图片流
      override - 指定替换成的背景颜色 为null时背景为透明
      tolerance - 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]
      Returns:
      返回处理好的图片流
    • remove

      public static BufferedImage remove(ByteArrayOutputStream outputStream, Color override, int tolerance)
      背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.
      Parameters:
      outputStream - 需要进行处理的图片字节数组流
      override - 指定替换成的背景颜色 为null时背景为透明
      tolerance - 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]
      Returns:
      返回处理好的图片流
    • filter

      public static BufferedImage filter(ColorSpace colorSpace, BufferedImage image)
      图片颜色转换 可以使用灰度 (gray)等
      Parameters:
      colorSpace - 颜色模式,如灰度等
      image - 被转换的图片
      Returns:
      转换后的图片
    • filter

      public static BufferedImage filter(AffineTransform xform, BufferedImage image)
      转换图片 可以使用一系列平移 (translation)、缩放 (scale)、翻转 (flip)、旋转 (rotation) 和错切 (shear) 来构造仿射变换。
      Parameters:
      xform - 2D仿射变换,它执行从 2D 坐标到其他 2D 坐标的线性映射,保留了线的“直线性”和“平行性”。
      image - 被转换的图片
      Returns:
      转换后的图片
    • filter

      public static BufferedImage filter(BufferedImageOp op, BufferedImage image)
      图片过滤转换
      Parameters:
      op - 过滤操作实现,如二维转换可传入AffineTransformOp
      image - 原始图片
      Returns:
      过滤后的图片
    • filter

      public static Image filter(ImageFilter filter, Image image)
      图片滤镜,借助 ImageFilter实现,实现不同的图片滤镜
      Parameters:
      filter - 滤镜实现
      image - 图片
      Returns:
      滤镜后的图片
    • getPointCentre

      public static Point getPointCentre(Rectangle rectangle, int backgroundWidth, int backgroundHeight)
      获得修正后的矩形坐标位置,变为以背景中心为基准坐标(即x,y == 0,0时,处于背景正中)
      Parameters:
      rectangle - 矩形
      backgroundWidth - 参考宽(背景宽)
      backgroundHeight - 参考高(背景高)
      Returns:
      修正后的Point