import java.awt.*;
import java.awt.image.*;
import javax.swing.*;
/*テスト用のメインクラス*/
public class Main extends JApplet {
private Image defaultImage; //元の画像
private Image fileredImage; //フィルタをかけた画像
public void init() {
resize(330, 120);
defaultImage = getImage(getCodeBase(), "image.png");
ImageProducer source = defaultImage.getSource();
/*フィルタを作成*/
ImageFilter filter = new BlueFilter();
/*フィルタリング*/
ImageProducer producer = new FilteredImageSource(source, filter);
/*フィルタをかけたイメージを作成*/
fileredImage = createImage(filterProducer);
}
public void paint(Graphics g){
g.drawImage(defaultImage, 0, 0, this);
g.drawImage(fileredImage, 170, 0, this);
}
}
/*フィルタクラス*/
public class BlueFilter extends RGBImageFilter {
public BlueFilter() {
canFilterIndexColorModel = true; //注目!!
}
/*フィルタ処理*/
public int filterRGB(int x, int y, int rgb) {
return (rgb | 0x000000FF);
}
} |