public class Img extends Object implements Flushable, Serializable
Constructor and Description |
---|
Img(BufferedImage srcImage)
构造,目标图片类型取决于来源图片类型
|
Img(BufferedImage srcImage,
String targetImageType)
构造
|
Modifier and Type | Method and Description |
---|---|
Img |
binary()
彩色转为黑白二值化图片
|
Img |
cut(int x,
int y)
图像切割为圆形(按指定起点坐标和半径切割),填充满整个图片(直径取长宽最小值)
|
Img |
cut(int x,
int y,
int radius)
图像切割为圆形(按指定起点坐标和半径切割)
|
Img |
cut(Rectangle rectangle)
图像切割(按指定起点坐标和宽高切割)
|
Img |
flip()
水平翻转图像
|
void |
flush() |
static Img |
from(File imageFile)
从文件读取图片并开始处理
|
static Img |
from(Image image)
从Image取图片并开始处理
|
static Img |
from(ImageInputStream imageStream)
从ImageInputStream取图片并开始处理
|
static Img |
from(InputStream in)
从流读取图片并开始处理
|
static Img |
from(Path imagePath)
从Path读取图片并开始处理
|
static Img |
from(Resource resource)
从资源对象中读取图片并开始处理
|
static Img |
from(URL imageUrl)
从URL取图片并开始处理
|
Image |
getImg()
获取处理过的图片
|
Img |
gray()
彩色转为灰度
|
Img |
pressImage(Image pressImg,
int x,
int y,
float alpha)
给图片添加图片水印
|
Img |
pressImage(Image pressImg,
Rectangle rectangle,
float alpha)
给图片添加图片水印
|
Img |
pressText(String pressText,
Color color,
Font font,
int x,
int y,
float alpha)
给图片添加文字水印
此方法只在给定位置写出一个水印字符串 |
Img |
pressText(String pressText,
Color color,
Font font,
Point point,
float alpha)
给图片添加文字水印
此方法只在给定位置写出一个水印字符串 |
Img |
pressTextFull(String pressText,
Color color,
Font font,
int lineHeight,
int degree,
float alpha)
给图片添加全屏文字水印
|
Img |
rotate(int degree)
旋转图片为指定角度
来自:http://blog.51cto.com/cping1982/130066 |
Img |
round(double arc)
图片圆角处理
|
Img |
scale(float scale)
缩放图像(按比例缩放)
|
Img |
scale(int width,
int height)
缩放图像(按长宽缩放)
注意:目标长宽与原图不成比例会变形 |
Img |
scale(int width,
int height,
Color fixedColor)
等比缩放图像,此方法按照按照给定的长宽等比缩放图片,按照长宽缩放比最多的一边等比缩放,空白部分填充背景色
缩放后默认为jpeg格式 |
Img |
scale(int width,
int height,
int scaleType)
缩放图像(按长宽缩放)
注意:目标长宽与原图不成比例会变形 |
Img |
setBackgroundColor(Color backgroundColor)
设置图片的背景色
|
Img |
setPositionBaseCentre(boolean positionBaseCentre)
计算x,y坐标的时候是否从中心做为原始坐标开始计算
|
Img |
setQuality(double quality)
设置图片输出质量,数字为0~1(不包括0和1)表示质量压缩比,除此数字外设置表示不压缩
|
Img |
setQuality(float quality)
设置图片输出质量,数字为0~1(不包括0和1)表示质量压缩比,除此数字外设置表示不压缩
|
Img |
setTargetImageType(String imgType)
设置目标图片文件格式,用于写出
|
Img |
stroke(Color color,
float width)
描边,此方法为向内描边,会覆盖图片相应的位置
|
Img |
stroke(Color color,
Stroke stroke)
描边,此方法为向内描边,会覆盖图片相应的位置
|
boolean |
write(File targetFile)
写出图像为目标文件扩展名对应的格式
|
boolean |
write(ImageOutputStream targetImageStream)
写出图像为结果设置格式
结果类型设定见 setTargetImageType(String) |
boolean |
write(OutputStream out)
写出图像为结果设置格式
结果类型设定见 setTargetImageType(String) |
public Img(BufferedImage srcImage)
srcImage
- 来源图片public Img(BufferedImage srcImage, String targetImageType)
srcImage
- 来源图片targetImageType
- 目标图片类型,null则读取来源图片类型public static Img from(Path imagePath)
imagePath
- 图片文件路径public static Img from(Resource resource)
resource
- 图片资源对象public static Img from(InputStream in)
in
- 图片流public static Img from(ImageInputStream imageStream)
imageStream
- 图片流public Img setTargetImageType(String imgType)
imgType
- 图片格式ImgUtil.IMAGE_TYPE_JPG
,
ImgUtil.IMAGE_TYPE_PNG
public Img setPositionBaseCentre(boolean positionBaseCentre)
positionBaseCentre
- 是否从中心做为原始坐标开始计算public Img setQuality(double quality)
quality
- 质量,数字为0~1(不包括0和1)表示质量压缩比,除此数字外设置表示不压缩public Img setQuality(float quality)
quality
- 质量,数字为0~1(不包括0和1)表示质量压缩比,除此数字外设置表示不压缩public Img setBackgroundColor(Color backgroundColor)
backgroundColor{@link
- Color} 背景色public Img scale(float scale)
scale
- 缩放比例。比例大于1时为放大,小于1大于0为缩小public Img scale(int width, int height)
width
- 目标宽度height
- 目标高度public Img scale(int width, int height, int scaleType)
width
- 目标宽度height
- 目标高度scaleType
- 缩放类型,可选Image.SCALE_SMOOTH
平滑模式或Image.SCALE_DEFAULT
默认模式public Img scale(int width, int height, Color fixedColor)
width
- 缩放后的宽度height
- 缩放后的高度fixedColor
- 比例不对时补充的颜色,不补充为null
public Img cut(Rectangle rectangle)
rectangle
- 矩形对象,表示矩形区域的x,y,width,heightpublic Img cut(int x, int y)
x
- 原图的x坐标起始位置y
- 原图的y坐标起始位置public Img cut(int x, int y, int radius)
x
- 原图的x坐标起始位置y
- 原图的y坐标起始位置radius
- 半径,小于0表示填充满整个图片(直径取长宽最小值)public Img round(double arc)
arc
- 圆角弧度,0~1,为长宽占比public Img gray()
public Img binary()
public Img pressText(String pressText, Color color, Font font, int x, int y, float alpha)
pressText
- 水印文字color
- 水印的字体颜色font
- Font
字体相关信息x
- 修正值。 默认在中间,偏移量相对于中间偏移y
- 修正值。 默认在中间,偏移量相对于中间偏移alpha
- 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字public Img pressText(String pressText, Color color, Font font, Point point, float alpha)
pressText
- 水印文字color
- 水印的字体颜色font
- Font
字体相关信息point
- 绘制字符串的位置坐标alpha
- 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字public Img pressTextFull(String pressText, Color color, Font font, int lineHeight, int degree, float alpha)
pressText
- 水印文字,文件间的间隔使用尾部添加空格方式实现color
- 水印的字体颜色font
- Font
字体相关信息lineHeight
- 行高degree
- 旋转角度,(单位:弧度),以圆点(0,0)为圆心,正代表顺时针,负代表逆时针alpha
- 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字public Img pressImage(Image pressImg, int x, int y, float alpha)
pressImg
- 水印图片,可以使用ImageIO.read(File)
方法读取文件x
- 修正值。 默认在中间,偏移量相对于中间偏移y
- 修正值。 默认在中间,偏移量相对于中间偏移alpha
- 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字public Img pressImage(Image pressImg, Rectangle rectangle, float alpha)
pressImg
- 水印图片,可以使用ImageIO.read(File)
方法读取文件rectangle
- 矩形对象,表示矩形区域的x,y,width,height,x,y从背景图片中心计算alpha
- 透明度:alpha 必须是范围 [0.0, 1.0] 之内(包含边界值)的一个浮点数字public Img rotate(int degree)
degree
- 旋转角度public Img flip()
public Img stroke(Color color, float width)
color
- 描边颜色,默认黑色width
- 边框粗细public Img stroke(Color color, Stroke stroke)
color
- 描边颜色,默认黑色stroke
- 描边属性,包括粗细、线条类型等,见BasicStroke
public Image getImg()
public boolean write(OutputStream out) throws IORuntimeException
setTargetImageType(String)
out
- 写出到的目标流IORuntimeException
- IO异常public boolean write(ImageOutputStream targetImageStream) throws IORuntimeException
setTargetImageType(String)
targetImageStream
- 写出到的目标流IORuntimeException
- IO异常public boolean write(File targetFile) throws IORuntimeException
targetFile
- 目标文件IORuntimeException
- IO异常Copyright © 2024. All rights reserved.