Wie kriege ich ein jpg transparent?

Status
Nicht offen für weitere Antworten.

Gosa

Mitglied
Ich habe gerade ein ganz einfaches 2D Raumschiff abschiess spiel geschrieben. Es ist ein applet in dem man selbst mit einem einem raumschiff rumfliegt und es kommen immer ein paar gegner. Das Problem dabei ist das wenn die gegner übereinander fliegen sieht das nicht gut aus. Die gegner sind nicht richtig quadratisch beim übereinander fliegen sieht man den schwarzen rand der um sie rum ist auf den anderen gegnern.

Wie kriege ich das weg?

Code:
	Agressor1 = getImage(getCodeBase(), "raums2.jpg");

Am liebsten hätte ich das irgendwie so: Agressor1.setTransparent(black);

(Oder geht das nur mit gifs? Und wenn ja wo kriege ich ein Programm her mit dem ich gifs malen kann?)

Vielen dank für jede hilfe!
 

Grizzly

Top Contributor
Gosa hat gesagt.:
[...]Am liebsten hätte ich das irgendwie so: Agressor1.setTransparent(black);[...]

Das geht bei JPG ja schon deswegen nicht, da das Format - so viel ich weiss - nur 24 Bit Farbtiefe unterstützt und eigentlich von Fotos gedacht ist, und nicht für Grafiken. Und durch den Algorithmus treten meist Farbverfälschungen auf sprich Du hättest wahrscheinlich auch keine richtige schwarze Fläche, die Di transparent machen könntest.

Java bietet die generell an, Grafiken transparent zu zeichnen. Aber das bezieht sich dann auf die ganze Grafik.

GIF hat eine Transparente Farbe, die dann zu 100% transparent ist, und maximal 256 Farben. Und wenn das nicht ausreicht gibt es noch PNG. Das kann 24 Bit plus einen 8 Bit Alpha-Kanal - also 256 Abstufungen der Transparenz. Das Sollte dann auf jeden Fall genügen.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben