"Enthält dieses Bild diese Farbe?"-Funktion?
Z4ppy
- php
Ich programmiere gerade ein kleines Skript, das den aktuell in iTunes gespielten Track anzeigt. (Wie ich den vorher übertrag, ist hier belanglos ^^)
Jetz hab ich das so schön gemacht, dass die Ecken des Bildes dann abgerundet sind und mittels imagecolortransparent mache ich das überstehende transparent. Allerdings kann es ja sein, dass die Farbe, die ich für die Transparenz gebrauche (bzw. die ich benutz, um die Bereiche anzumalen, die dann transparent sein sollen), im Cover, das ebenfalls in die Grafik eingebaut wird, enthalten ist, was ein wenig unschöne Effekte hervorruft...
Wie kann ich denn prüfen, ob in dem Cover die aktuell gewählte Transparenzfarbe enthalten ist, sodass ich bei Bedarf noch eine andere wählen kann?
Gibt es eine effizientere Methode, als das Bild zu laden und dann Pixel für Pixel mit imagecolorat die Farbe zu prüfen?
MfG Z4ppy
Moin!
Jetz hab ich das so schön gemacht, dass die Ecken des Bildes dann abgerundet sind und mittels imagecolortransparent mache ich das überstehende transparent. Allerdings kann es ja sein, dass die Farbe, die ich für die Transparenz gebrauche (bzw. die ich benutz, um die Bereiche anzumalen, die dann transparent sein sollen), im Cover, das ebenfalls in die Grafik eingebaut wird, enthalten ist, was ein wenig unschöne Effekte hervorruft...
Nicht, wenn du ein Truecolor-Bild draus machst und mit Alphatransparenz in einem 24-Bit-PNG arbeitest. Denn da kannst du die Transparenz als Eigenschaft der Malfarbe festlegen (mit Transparenzwerten zwischen 0 und 127), und das kollidiert nicht mit irgendwelchen gleichfarbigen Pixeln anderswo.
- Sven Rautenberg
Nicht, wenn du ein Truecolor-Bild draus machst
Ich benutze bereits ein Truecolor-Bild, mit dem normalen imagecreate gab es irgendeinen Fehler, an den ich mich nicht mehr erinner...
und mit Alphatransparenz in einem 24-Bit-PNG arbeitest. Denn da kannst du die Transparenz als Eigenschaft der Malfarbe festlegen (mit Transparenzwerten zwischen 0 und 127), und das kollidiert nicht mit irgendwelchen gleichfarbigen Pixeln anderswo.
OK, das muss ich mir mal genauer angucken, danke dir :)
Ich habe nun ein wenig rumgesucht und rumgespielt und die Alpha-Transparenz auch hingekriegt, das Problem ist nun, dass die Pixel völlig transparent sein sollen. Das Bild, das durch imagecreatetruecolor erzeugt wird, hat aber bereits einen schwarzen Hintergrund. Sämtliche Befehle wie imagesetpixel, imageline, imagestring etc., bei denen man eine Farbe mit der Transparenz 127 wählt, führen einfach nur zu einem transparenten Punkt/Strich/Schriftzug auf dem schwarzen Hintergrund...
Wie kriegt man sie komplett transparent?
MfG Z4ppy
Hat sich schon erledigt ^^
Danke für den Hinweis mit der Alpha-Transparenz :)
MfG Z4ppy