图像基本处理
优质
小牛编辑
135浏览
2023-12-01
这个package一直有,老久了,只是一直都是我们内部自己用,没有直接写出来.
直接原文拷贝啦,从http,哈哈.
图像读取
你会发现,Images类只有一个read方法,参数类型是Object
// 可以是URL对象
Images.read(new Url("https://www.baidu.com/img/bdlogo.png"));
// 可以是路径
Images.read("/dev/shm/shiro_login.png");
// 可以是File对象
Images.read(new File("/dev/shm/shiro_login.png"));
// 可以是InputStream
Images.read(in);
图像旋转
旋转90度
img = Images.rotate(img, 90);
图像翻转
水平翻转
img = Images.flipHorizontal(img);
垂直翻转
img = Images.flipVertical(img);
图像缩放
缩放到指定长宽,等比缩放
img = Images.zoomScale(img, 160, 180, Color.WHITE);
裁剪缩放
Images.clipScale("/dev/shm/abc.jpg", "/dev/shm/abc_out.jpg", 1920, 1080);
图像扭曲
可以手动设定扭曲级别,数值越大扭曲程度越高,同时还需设定背景色,用来填充扭曲后漏出来的部分。
img = Images.twist(img, 1, "#FFF");
原图:
扭曲值为1:
扭曲值为3:
扭曲值为5:
输出文件
根据文件后缀输出图片
Images.write(image, new File("/dev/shm/abc.png"));
输出jpeg并指定质量
Images.writeJpeg(image, new File("/dev/shm/abc.jpg"), 0.9f);