示例代码:
// 定义“缩放过滤器”
MarbleFilter scaleFilter = new MarbleFilter();
BufferedImage fromImage = ImageIO.read(new File("F:\\Downloads\\0707\\20170628080546608.jpg"));
//
BufferedImage toImage = new BufferedImage(fromImage.getWidth(), fromImage.getHeight(),
BufferedImage.TYPE_INT_RGB);
// 缩放处理
scaleFilter.filter(fromImage, toImage);
// 写回指定目标文件
ImageIO.write(toImage, "jpg", new File("F:\\Downloads\\0707\\overwrite7.jpg"));
Java Image Filters是一款基于Java的图像处理类库,特别是在图像滤镜特效方面,Java Image Filters简直就是强大到天衣无缝。它几乎提供了PS上大部分的图像特效。比如反色特效、图像扭曲、水波和纹理等效果。
以下是Java Image Filters提供的所有图像滤镜特效以及每一种特效实现算法思路:
色彩调整
QuantizeFilter - 量化的图像为256色,比如说,GIF出口
变形和扭曲
BicubicScaleFilter - Scaling with bicubic interpolation
DiffuseFilter - Diffuse the pixels of an image
FieldWarpFilter - Warp images using a field warp algorithm
PinchFilter - Whirl-and-pinch distortion
ShearFilter - Shear an image
WarpFilter - A general grid image warp