# [2D] Farbe bestimmten Pixels eines Bildes ändern



## DEvent (24. Apr 2007)

Hallo
gibt es eine möglichst eifnache Möglichkeit die Farbe bestimmter Pixels eines Bilder zu ändern?
Also ich habe ein Image-Objekt.

```
Image image = Toolkit.getDefaultToolkit().loadImage(file);
```
das Bild besteht aus einer Hintergrundfarbe (Transparent oder Weiß) und da drauf ist mit Schwarz etwas gezeichnet (ein Pfeil oder so). Jetzt will ich die  Farbe des schwarzen Pfeils auf Blau ändern.

Ich könnte ja jetzt durch alle Pixels durchgehen, nachschauen ob sie Schwarz sind und sie auf Blau ändern. Aber dafür gibt es doch sicher eine einfacherere Lösung?

mfg devent.


----------



## Marco13 (24. Apr 2007)

Vermutlich wirst du dafür ein BufferedImage brauchen. Aber eine bedeutend einfacere Lösung, als die, die du beschrieben hast, gibt es wohl nicht.


----------



## André Uhres (24. Apr 2007)

```
...
    private Image image;
...
        try {
            image = ImageIO.read(file);
        } catch (IOException ex) {ex.printStackTrace();}
        image = createImage(new FilteredImageSource(image.getSource(), new BlackToBlue()));
..
class BlackToBlue extends RGBImageFilter {
    public BlackToBlue() {canFilterIndexColorModel = true;}
    public int filterRGB(int x, int y, int rgb) {
        return (rgb & 0x00ffffff) != 0 ? rgb : rgb | 0x000000ff;
    }
}
```


----------



## DEvent (27. Apr 2007)

André Uhres hat gesagt.:
			
		

> ```
> ...
> private Image image;
> ...
> ...


Super danke, funktioniert wunderbar


----------

