import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;
import java.io.*;
class ColorReplaceLookupTable extends LookupTable
{
private Color srcColor;
private Color dstColor;
public ColorReplaceLookupTable(Color srcColor, Color dstColor)
{
super(0,1);
this.srcColor = srcColor;
this.dstColor = dstColor;
}
public int[] lookupPixel(int[] src, int[] dest)
{
if (src[0] == srcColor.getRed() &&
src[1] == srcColor.getGreen() &&
src[2] == srcColor.getBlue())
{
src[0] = dstColor.getRed();
src[1] = dstColor.getGreen();
src[2] = dstColor.getBlue();
}
return src;
}
}
class ColorReplaceTest
{
public static void main(String args[]) throws Exception
{
BufferedImage img = ImageIO.read(new File("bild1.gif"));
BufferedImage image = new BufferedImage(img.getWidth(), img.getHeight(), BufferedImage.TYPE_INT_RGB);
image.getGraphics().drawImage(img, 0, 0, null);
BufferedImageOp convertOp = new LookupOp(new ColorReplaceLookupTable(Color.BLUE, Color.GREEN), null);
BufferedImage convertedImage = convertOp.filter(image, null );
ImageIO.write(convertedImage, "jpg", new File("bild1_02.jpg"));
}
}