phpbar.de logo

Mailinglisten-Archive

[php] Freistellen von Logo

[php] Freistellen von Logo

Christian Victor php_(at)_phpcenter.de
Fri, 31 Aug 2001 15:21:42 +0200


Hi Leute!

> >Jemand läd ein Logo (gif, jpg o.ä.) per Fileupload auf den Server.
> >Das Logo soll nun freigestellt werden, d.h. der Hintergrund soll
transparent
> >werden.
> Hmmm, beim Gif und der GD-Lib kannst du ja die Eckpunkte des Bildes
> abklappern und den häufigsten Farbindex dann transparent setzen vor dem
> Speichern.
> Obacht:
> Da das Gif-Fomat nur einen Farbtopf tranparent setzen kann, treten dabei
> dann oftmals häßliche Blitzer auf, die nur schwerlich zu vermeiden sind.
> Außerdem kann das Abklappern der Eckpunkt scheitern. Und JPeg erlaubt
> erst gar keine Transparenz.

Ich denke die bescränkunf auf GIF und nur eine Transparente Farbe kann man
umgehen indem man einfach - egal ob GIF oder JPG - die Pixelfarben die man
für sich als transparent definiert einfach nicht mitkopiert. Das hat
natürlich den Nachteil das man das Bild Pixel für Pixel kopieren muss. Aber
wenn das nicht oft passiert vielleicht eine Möglichkeit.

Das Problem zu bestimmen welche Farben nun transparent gemacht werden sollen
ist natürlich weiterhin da.

Ich könnte mir auch so etwas vorstellen das man von den Bildkanten ausgehend
alle benachbarten Pixel als transparent definiert die den gleichen (evtl.
+/- 5%) Farbwert haben. Das würde verhindern das Vorkommen der gleichen
Farbe im Bildinnern auch transparent werden.

Das alles nur als Denkanstoß.

Ein weiteres Problem sehe ich darin das ein Bild das urspünglich mal auf
rotem Hintergrund war auf weiss freigestellt ziemlich beknackt aussieht.
Durch das Anti-Aliasing der Ursprungsgrafik entstehen hässliche rote Blitzer
am Rand.

Hope that helps :)

Christian




php::bar PHP Wiki   -   Listenarchive