# Magenta zu transparent | Spritesheet



## Devil0s (12. Sep 2012)

Ich programmiere grade ein kleines Spiel in dem man einen Charakter bewegen soll.
Ich will ein Bild einlesen, es teilen und die Bilder ausgeben.
Da in einem Spritesheet so ist, dass es eine Hintergrundfarbe gibt (z.b. Magenta) muss man die Pixel die diesen Farbcode haben in transparente Pixel umwandeln.
Da durch Google herausgefunden habe, dass es keinen Farbcode fuer transparenz gibt.
Nun haette ich gerne eine Loesung wie ich mein Problem loesen koennte.


```
for (int y = 0; y < spriteSheet.getHeight(); y++) {
			for (int x = 0; x < spriteSheet.getWidth(); x++) {
				if (spriteSheet.getRGB(x, y) == 0xFFFF00FF) {
					spriteSheet.setRGB(x, y, 0xFF000000);
				}
			}
		}
```


----------



## Spacerat (12. Sep 2012)

Transparenz mus vom Farbmodell des BufferedImage unterstützt werden. Wird es das nicht, wird der Alphakanal schlicht mit 255 überschrieben, da hilft dann nur das Wandeln in ARGB. Ausserdem muss der Alphawert für Transparenz 0 und nicht 255 sein, das bedeutet: [c]0xFFFF00FF & 0x00FFFFFF[/c].


----------



## JCODA (12. Sep 2012)

Ultimate Java Image Manipulation


----------

