public class ImagesUtil extends Object
图片处理工具类
2020-03-31 11:07
| 限定符和类型 | 字段和说明 |
|---|---|
static String[] |
IMAGES_TYPE
支持的图片类型数组
其他格式不保证效果
|
| 构造器和说明 |
|---|
ImagesUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
static boolean |
areColorsWithinTolerance(Color color1,
Color color2,
Color tolerance)
判断颜色是否在容差范围内
对比两个颜色的相似度,判断这个相似度是否小于 tolerance 容差值
|
static boolean |
areColorsWithinTolerance(Color color1,
Color color2,
int tolerance)
判断颜色是否在容差范围内
对比两个颜色的相似度,判断这个相似度是否小于 tolerance 容差值
|
static BufferedImage |
backgroundRemoval(BufferedImage bufferedImage,
Color override,
int tolerance)
背景移除
图片去底工具
将 "纯色背景的图片" 还原成 "透明背景的图片"
将纯色背景的图片转成矢量图
取图片边缘的像素点和获取到的图片主题色作为要替换的背景色
再加入一定的容差值,然后将所有像素点与该颜色进行比较
发现相同则将颜色不透明度设置为0,使颜色完全透明.
|
static BufferedImage |
backgroundRemoval(ByteArrayOutputStream outputStream,
Color override,
int tolerance)
背景移除
图片去底工具
将 "纯色背景的图片" 还原成 "透明背景的图片"
将纯色背景的图片转成矢量图
取图片边缘的像素点和获取到的图片主题色作为要替换的背景色
再加入一定的容差值,然后将所有像素点与该颜色进行比较
发现相同则将颜色不透明度设置为0,使颜色完全透明.
|
static boolean |
backgroundRemoval(File input,
File output,
Color override,
int tolerance)
背景移除
图片去底工具
将 "纯色背景的图片" 还原成 "透明背景的图片"
将纯色背景的图片转成矢量图
取图片边缘的像素点和获取到的图片主题色作为要替换的背景色
再加入一定的容差值,然后将所有像素点与该颜色进行比较
发现相同则将颜色不透明度设置为0,使颜色完全透明.
|
static boolean |
backgroundRemoval(File input,
File output,
int tolerance)
背景移除
图片去底工具
将 "纯色背景的图片" 还原成 "透明背景的图片"
将纯色背景的图片转成矢量图
取图片边缘的像素点和获取到的图片主题色作为要替换的背景色
再加入一定的容差值,然后将所有像素点与该颜色进行比较
发现相同则将颜色不透明度设置为0,使颜色完全透明.
|
static boolean |
backgroundRemoval(String inputPath,
String outputPath,
int tolerance)
背景移除
图片去底工具
将 "纯色背景的图片" 还原成 "透明背景的图片"
将纯色背景的图片转成矢量图
取图片边缘的像素点和获取到的图片主题色作为要替换的背景色
再加入一定的容差值,然后将所有像素点与该颜色进行比较
发现相同则将颜色不透明度设置为0,使颜色完全透明.
|
static byte[] |
compressionSizeOutByte(InputStream imgFile,
String suffix,
double compressionRatio,
double scaling)
压缩图片大小 图片尺寸保持不变
|
static ByteArrayOutputStream |
compressionSizeOutStream(InputStream imgFile,
String suffix,
double compressionRatio,
double scaling)
压缩图片大小 图片尺寸保持不变
|
static byte[] |
compressNetworkPicturesOutByte(String url,
Integer width,
Integer height)
压缩指定 网络 图片 大小(例如:横500高500),保持图片不变形,多余部分裁剪掉
|
static ByteArrayOutputStream |
compressNetworkPicturesOutStream(String url,
Integer width,
Integer height)
压缩指定 网络 图片 大小(例如:横500高500),保持图片不变形,多余部分裁剪掉
|
static byte[] |
compressPicturesOutByte(InputStream input,
String suffix,
Integer width,
Integer height)
压缩至指定图片尺寸(例如:横500高500),保持图片不变形,多余部分裁剪掉
|
static ByteArrayOutputStream |
compressPicturesOutStream(InputStream input,
String suffix,
Integer width,
Integer height)
压缩至指定图片尺寸(例如:横500高500),保持图片不变形,多余部分裁剪掉
|
static byte[] |
cutPictureOutByte(File input,
Integer x,
Integer y,
Integer width,
Integer height)
图片指定 X轴,Y轴 裁剪、切割
给定 X轴、Y轴、裁剪后的 宽、高
进行指定位置的裁剪
|
static boolean |
cutPictureOutFile(File input,
File output,
Integer x,
Integer y,
Integer width,
Integer height)
图片指定 X轴,Y轴 裁剪、切割
给定 X轴、Y轴、裁剪后的 宽、高
进行指定位置的裁剪
|
static BufferedImage |
cutPictureOutStream(File input,
Integer x,
Integer y,
Integer width,
Integer height)
图片指定 X轴,Y轴 裁剪、切割
给定 X轴、Y轴、裁剪后的 宽、高
进行指定位置的裁剪
|
static String |
getMainColor(BufferedImage bufferedImage)
获取图片大概的主题色
循环所有的像素点,取出出现次数最多的一个像素点的RGB值
|
static String |
getMainColor(File input)
获取图片大概的主题色
循环所有的像素点,取出出现次数最多的一个像素点的RGB值
|
static String |
getMainColor(String input)
获取图片大概的主题色
循环所有的像素点,取出出现次数最多的一个像素点的RGB值
|
static Color |
hexToRgb(String hex)
十六进制颜色码转RGB颜色值
|
static byte[] |
mergeOutByte(File[] files,
boolean horizontalOrVertical)
图片拼接
多张图片进行 横向或纵向拼接
|
static byte[] |
mergeOutByte(String[] files,
boolean horizontalOrVertical)
图片拼接
多张图片进行 横向或纵向拼接
|
static boolean |
mergeOutFile(File[] files,
File output,
boolean horizontalOrVertical)
图片拼接
多张图片进行 横向或纵向拼接
|
static boolean |
mergeOutFile(String[] files,
String output,
boolean horizontalOrVertical)
图片拼接
多张图片进行 横向或纵向拼接
|
static BufferedImage |
mergeOutStream(File[] files,
boolean horizontalOrVertical)
图片拼接
多张图片进行 横向或纵向拼接
根据需求图像的宽高需要保持一致
注意:横向合并时 高度必须要保持一致
纵向合并时 宽度必须要保持一致
|
static BufferedImage |
mergeOutStream(String[] files,
boolean horizontalOrVertical)
图片拼接
多张图片进行 横向或纵向拼接
|
static String |
rgbToHex(int r,
int g,
int b)
RGB颜色值转换成十六进制颜色码
|
static byte[] |
scaleToScaleOutByte(InputStream imgFile,
String suffix,
double scaling)
按照比例进行缩放...图片尺寸不变
|
static byte[] |
scaleToScaleOutByte(InputStream imgFile,
String suffix,
Integer width,
Integer height,
boolean isScaling)
不按照比例,指定大小进行缩放
|
static ByteArrayOutputStream |
scaleToScaleOutStream(InputStream imgFile,
String suffix,
double scaling)
按照比例进行缩放...图片尺寸不变
|
static ByteArrayOutputStream |
scaleToScaleOutStream(InputStream imgFile,
String suffix,
Integer width,
Integer height,
boolean isScaling)
不按照比例,指定大小进行缩放
|
public static String[] IMAGES_TYPE
public static byte[] compressPicturesOutByte(InputStream input, String suffix, Integer width, Integer height)
input - 图片流suffix - 文件后缀 jpg、png等等width - 压缩至:宽度(最小为1)height - 压缩至:高度(最小为1)public static ByteArrayOutputStream compressPicturesOutStream(InputStream input, String suffix, Integer width, Integer height)
input - 图片流suffix - 文件后缀 jpg、png等等width - 压缩至:宽度(最小为1)height - 压缩至:高度(最小为1)public static byte[] compressNetworkPicturesOutByte(String url, Integer width, Integer height)
url - 网络图片URLwidth - 压缩至:宽度(最小为10)height - 压缩至:高度(最小为10)public static ByteArrayOutputStream compressNetworkPicturesOutStream(String url, Integer width, Integer height)
url - 网络图片URLwidth - 压缩至:宽度(最小为10)height - 压缩至:高度(最小为10)public static byte[] scaleToScaleOutByte(InputStream imgFile, String suffix, double scaling)
imgFile - 文件流suffix - 文件后缀 jpg、png等等scaling - 缩放比例(1为最高质量,大于1就是变大,小于1就是缩小)public static ByteArrayOutputStream scaleToScaleOutStream(InputStream imgFile, String suffix, double scaling)
imgFile - 文件流suffix - 文件后缀 jpg、png等等scaling - 缩放比例(1为最高质量,大于1就是变大,小于1就是缩小)public static byte[] scaleToScaleOutByte(InputStream imgFile, String suffix, Integer width, Integer height, boolean isScaling)
imgFile - 文件流suffix - 文件后缀 jpg、png等等width - 压缩至:宽height - 压缩至:高isScaling - 是否按照比例缩放(true按照比例缩放 : false不按照比例缩放)public static ByteArrayOutputStream scaleToScaleOutStream(InputStream imgFile, String suffix, Integer width, Integer height, boolean isScaling)
imgFile - 文件流suffix - 文件后缀 jpg、png等等width - 压缩至:宽height - 压缩至:高isScaling - 是否按照比例缩放(true按照比例缩放 : false不按照比例缩放)public static byte[] compressionSizeOutByte(InputStream imgFile, String suffix, double compressionRatio, double scaling)
imgFile - 文件流compressionRatio - 压缩比例[设置缩略图的缩放因子,值大于0.0]scaling - 缩放比例[取值范围 0.0 ~ 1.0 之间]public static ByteArrayOutputStream compressionSizeOutStream(InputStream imgFile, String suffix, double compressionRatio, double scaling)
imgFile - 文件流compressionRatio - 压缩比例[设置缩略图的缩放因子,值大于0.0]scaling - 缩放比例[取值范围 0.0 ~ 1.0 之间]public static boolean backgroundRemoval(String inputPath, String outputPath, int tolerance)
inputPath - 要处理图片的路径outputPath - 输出图片的路径tolerance - 容差值[根据图片的主题色,加入容差值,值的范围在0~255之间]public static boolean backgroundRemoval(File input, File output, int tolerance)
input - 需要进行操作的图片output - 最后输出的文件tolerance - 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]public static boolean backgroundRemoval(File input, File output, Color override, int tolerance)
input - 需要进行操作的图片output - 最后输出的文件override - 指定替换成的背景颜色 为null时背景为透明tolerance - 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]public static BufferedImage backgroundRemoval(BufferedImage bufferedImage, Color override, int tolerance)
bufferedImage - 需要进行处理的图片流override - 指定替换成的背景颜色 为null时背景为透明tolerance - 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]public static BufferedImage backgroundRemoval(ByteArrayOutputStream outputStream, Color override, int tolerance)
outputStream - 需要进行处理的图片字节数组流override - 指定替换成的背景颜色 为null时背景为透明tolerance - 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]public static String rgbToHex(int r, int g, int b)
r - 红(R)g - 绿(G)b - 蓝(B)public static boolean areColorsWithinTolerance(Color color1, Color color2, int tolerance)
color1 - 颜色1color2 - 颜色2tolerance - 容差值public static boolean areColorsWithinTolerance(Color color1, Color color2, Color tolerance)
color1 - 颜色1color2 - 颜色2tolerance - 容差色值public static String getMainColor(String input)
input - 图片文件路径public static String getMainColor(File input)
input - 图片文件public static String getMainColor(BufferedImage bufferedImage)
bufferedImage - 图片流public static BufferedImage cutPictureOutStream(File input, Integer x, Integer y, Integer width, Integer height)
input - 指定需要进行操作的图片文件x - x轴 图片从指定 x轴 开始切割y - y轴 图片从指定 y轴 开始切割width - 图片需要切割的 宽度height - 图片需要切割的 高度public static byte[] cutPictureOutByte(File input, Integer x, Integer y, Integer width, Integer height)
input - 指定需要进行操作的图片文件x - x轴 图片从指定 x轴 开始切割y - y轴 图片从指定 y轴 开始切割width - 图片需要切割的 宽度height - 图片需要切割的 高度public static boolean cutPictureOutFile(File input, File output, Integer x, Integer y, Integer width, Integer height)
input - 指定需要进行操作的图片文件output - 指定切割后需要输出的文件x - x轴 图片从指定 x轴 开始切割y - y轴 图片从指定 y轴 开始切割width - 图片需要切割的 宽度height - 图片需要切割的 高度public static BufferedImage mergeOutStream(File[] files, boolean horizontalOrVertical)
files - 需要进行拼接的文件数组horizontalOrVertical - 布尔值 true:进行横向拼接 false:进行纵向拼接public static BufferedImage mergeOutStream(String[] files, boolean horizontalOrVertical)
files - 需要进行拼接的文件路径数组horizontalOrVertical - 布尔值 true:进行横向拼接 false:进行纵向拼接public static byte[] mergeOutByte(File[] files, boolean horizontalOrVertical)
files - 需要进行拼接的文件数组horizontalOrVertical - 布尔值 true:进行横向拼接 false:进行纵向拼接public static byte[] mergeOutByte(String[] files, boolean horizontalOrVertical)
files - 需要进行拼接的文件路径数组horizontalOrVertical - 布尔值 true:进行横向拼接 false:进行纵向拼接public static boolean mergeOutFile(File[] files, File output, boolean horizontalOrVertical)
files - 需要进行拼接的文件数组output - 指定图片拼接后需要输出的文件horizontalOrVertical - 布尔值 true:进行横向拼接 false:进行纵向拼接Copyright © 2021. All rights reserved.