你如果用过Photoshop,会惊讶于里面众多功能强大的滤镜。
Java其实也有一个开源的项目,提供功能强大的滤镜:http://www.jhlabs.com/ip/filters/index.html
这个项目提供的滤镜功能非常丰富,且程序库非常小,下面举个小例子:
import java.awt.BorderLayout;
import java.awt.image.BufferedImage;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import com.jhlabs.image.EmbossFilter;
public class Filter {
/**
* Java滤镜
* @param args
*/
public static void main(String[] args) {
try {
BufferedImage img = ImageIO.read(new URL("http://www.baidu.com/img/baidu_sylogo1.gif"));
BufferedImage timg = new BufferedImage(img.getWidth(), img.getHeight(), BufferedImage.TYPE_INT_ARGB);
new EmbossFilter().filter(img, timg);
JFrame f = new JFrame("Java滤镜");
f.getContentPane().add(new JLabel(new ImageIcon(timg)), BorderLayout.CENTER);
f.setSize(img.getWidth(), img.getHeight() + 20);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
}
这个例子很简单,其它滤镜使用方法类似!
如果这还不能引起你的关注,看看xdoc吧,xdoc中集成了这个滤镜库,效果如下:
希望更多的人关注Java2D,Java2D其实很精彩!!!