# Farbe transparent machen



## mavinatic (31. Jul 2010)

Hallo Javanatoren 

Ich habe ein Image, welches ein Rennauto darstellt. Nun habe ich dieses Auto mit der Farbe PINK umgeben. Nun möchte ich die pinke Farbe entfernen mit dem Programm. So das nur noch das Auto zusehen ist und kein Rechteckiger Kasten! Also sollte die Farbe PINK transparent sein?

Nun habe ich noch keine Ahnung wie ich die Farbe transperiere  und unter google finde ich auch nichts.

Habt ihr ne Idee wie ich die Pinke Farbe "entferne" ?

Gruß


----------



## Marco13 (31. Jul 2010)

Am einfachsten wäre es, das Bild als PNG zu speichern, und den durchsichtigen Bereich (mit einem Malprogramm) von vornherein durchsichtig zu machen.

Als Alternative könnte man die Farbe "Pink" von Hand mit "Durchsichtig" ersetzen. Da gäb's etliche mehr oder weniger elegante Möglichkeiten. Am einfachsten: Durch das ganze Bild (als BufferedImage) laufen, und jeden einzelnen Pixel mit getRGB(x,y) abfragen und ggf. mit setRGB(x,y,0) ersetzen. Eleganter wäre vermutlich eine LookupOp oder ColorConvertOp, da müßte man mal schauen...


----------



## Ezra (31. Jul 2010)

Warum so kompliziert?
Einfach für Color den Alpha-Wert angeben und schon ist es transparent. Steht auch in der API.



> Color(int r, int g, int b, int a)
> Creates an sRGB color with the specified red, green, blue, and alpha values in the range (0 - 255).





> Every color has an implicit alpha value of 1.0 or an explicit one provided in the constructor. The alpha value defines the transparency of a color and can be represented by a float value in the range 0.0 - 1.0 or 0 - 255. An alpha value of 1.0 or 255 means that the color is completely opaque and an alpha value of 0 or 0.0 means that the color is completely transparent.


----------



## XHelp (31. Jul 2010)

Ezra hat gesagt.:


> Warum so kompliziert?
> Einfach für Color den Alpha-Wert angeben und schon ist es transparent. Steht auch in der API.



Ja, aber es geht nicht darum einfach eine "Farbe mit Transparenz zu erstellen", sondern in einem bestehendem Bild eine Farbe transparent zu machen.


----------

