Java Image Filters 是由 Jhlabs 开发的一组用来处理 Java 图像的类库,提供对图像的过滤与编辑处理等操作,Jhlabs主页:http://www.jhlabs.com/
下例通过一个简单的调用图像跳动计算,实现图像转储:
项目准备:
引入类库:
<dependency>
<groupId>com.jhlabs</groupId>
<artifactId>filters</artifactId>
<version>2.0.235-1</version>
</dependency>
实现:
public class DiffusionFilterTest {
final static String type = "jpg"; //文件类型 -- 测试用
final static String pictureName = "test."+type;//文件名称
static final URL url = BinaryTest.class.getClassLoader().getResource(pictureName); //将要转换的图片地址
public static void main(String[] args) throws IOException {
BufferedImage bi= ImageIO.read(url);//通过imageio将图像载入
DiffusionFilter filter = new DiffusionFilter();
filter.setColorDither(false); //对于颜色抖动为true,对于单色为false
filter.setLevels(2); //跳动级别
BufferedImage nbi = filter.filter(bi,null);
File file = new File("binary_"+pictureName);
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(nbi, type, file);
}
}
测试图片及测试项目结构:
转储后的图片: