# Tranzparente Pixel



## VdA (21. Okt 2006)

Hallo Leute ich hab da son Problem:
Es geht darum das ich ein Bild hab (als gif, weil man da ja alpha werte angeben kann :wink: )
nun ist es so das ich das bild so modifizieren will dass je dunkler ein Pixel ist desto trazpaenter 
soll er sein.
(das bild hat nur graue farben, falls das wichig ist)
nur leider hab ich kein Programm was so etas mache kann und weiß auch icht ob das mit java geht   
ich brauch dann am ende ei bild das wie oben beschrieben halt ... tranzparent ist.
kann mir jemand ein programm empfehlen oder einen java-code dafür geben ?

schon ma thx für alle antworten.


----------



## dieta (21. Okt 2006)

Da musst du einfach die Rot, Grün und Blauwerte pixel für Pixel zusammenrechnen, durch drei teilen, und dann den Pixel auf new Color(0, 0, 0, 255 - ergebnis) setzen.


----------



## VdA (21. Okt 2006)

jo thx 
hab vorher nur bei java.awt.Image nachgeguckt aber sowas geht ja nur mit java.awt.image.BufferedImage
hier einfach ma der Code:

```
for(int x=0;x<bild.getWidth();x++)
{
	for(int y=0;y<bild.getHeight();y++)
	{
		Color farbe=new Color(getRGB(x,y));
		farbe=new Color(farbe.getRed(), farbe.getBlue(), farbe.getGreen(),   ((farbe.getRed()+farbe.getBlue()+farbe.getGreen())/3));
		bild.setRGB(x, y, farbe);
	}
}
```


----------



## VdA (21. Okt 2006)

aber kann ich das entstandene bild jetzt auch abspeichern in einem üblichen Bildformat?
z.B. *.bmp *.jpg *.gif usw :?:


----------



## dieta (21. Okt 2006)

Das geht am Einfachsten mit Imageio#write(...).
API-Doc: ImageIO
Als RenderedImage im übergibst du ihm dann dein BufferedImage.

Java kann allerdings nur die Formate png und jpg schreiben.


----------



## VdA (21. Okt 2006)

thx  
das is kp hab nämlich irfan view damit kann ich dass format ändern :wink:


----------

