| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |||||
| Erfahrener Benutzer Registriert seit: 17.02.2006
Beiträge: 132
PHP-Kenntnisse: Fortgeschritten ![]() | Zitat:
Zitat:
Ich habe gerade einen 150kbyte OO-Wrapper für sämtliche in PHP enthaltenen Image-Funktionen geschrieben zuzüglich einiger weiterer Features und Portierung von PHP5-Features auf PHP4. Daher kenne ich diese und weitere nervige Details inzwischen aus nächster Nähe. Das erste Problem bei dem oben genannten Skript ist, das die Palette nicht kopiert wird. Dadurch gehen die Frabinformationen flöten. Zweites Problem ist ein Denkfehler. Schwarz oder weiß als Farbe einfach zur Transparenzfarbe zu machen ist keine gute Idee. Denn wer kann schon sagen, ob das ursprüngliche Bild nicht zufällig schwarz oder weiß als nicht-transparente Farbe enthielt? Nächstes Problem: imagecolortransparent() funktioniert nicht für True-Color, sondern nur für Palette-images. Für True-Color muss man stattdessen eine voll durchsichtige Farbe, also eine mit einem Alpha-Wert von 255 verwenden. Dafür dürfen True-Color Bilder aber auch mehrere transparente oder halbtransparente Farben haben. Nächstes Problem: die Palette könnte bereits voll belegt sein. Man muss also zuerst die Palette des alten Bildes auf das neue Bild übertragen, dann die Transparenzfarbe herausfinden, dann die Fläche transparent machen und last-but-not-least, muss man in diesem Sonderfall für das ursprüngliche Bild die Palette um 1 Farbe reduzieren, um Platz für die neue Hintergrundfarbe zu schaffen. Dabei geht aber eventuell die Information über die Transparenzfarbe verloren, sodass man sie wiederherstellen muss, was wiederum nicht unbedingt erfolgreich sein muss, falls zufällig just die Transparenzfarbe Opfer dieser Optimierung geworden sein sollte... et cetera. Ich habe das ganze Spielchen, wie gesagt, bis zum Erbrechen durch und bin sehr froh darüber, dass ich mir um die technischen Details keine Gedanken mehr machen muss und meine Klasse diese Dinge im Hintergrund für mich erledigt. Zitat:
Zitat:
imagecopymerge() wäre außerdem an dieser Stelle nicht sinnvoll, weil sie 1. nur für True-Color anwendbar ist und 2. benötigt man die Transparenzangaben, welche diese Funktion bietet, nicht. Außerdem: es steht zwar nicht direkt im Handbuch, aber ich glaube mich zu erinnern, dass bei dieser Funktion auch der Alpha-Kanal bzw. die Transparenz des Originalbildes verloren geht. Also Finger weg davon, solange man diese spezielle Funktionalität nicht explizit braucht. | ||||
| | |
| | |
| Erfahrener Benutzer Registriert seit: 22.04.2005
Beiträge: 391
![]() | Das is mal n fetter Beitrag. Könnte man fast n Tutorial draus machen. *dreistmode_on* Ist die class von dir open source? :P *dreistmode_off* Ich werd mal schauen. Also 150kb zu laden, um einen Rahmen zu zeichnen, halte ich für übertrieben. Die CSS-Lösung ist da weitaus kompfortabler. Aber Danke |
| | |
| | ||
| Erfahrener Benutzer Registriert seit: 23.08.2007
Beiträge: 1.510
![]() | Oh man .. besorgt euch ImageMagick .. und die entsprechende OpenSource Klasse .. erweitert die Klasse um einige Funktionen und ihr könnt euch die ganze Diskussion sparen. Weil ich ImageMagick an sich bevorzugen würde bei der Grafik-hin-und-her-wurschtelei Zitat:
Mensch .. | |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Bilder ohne DB sicher speichern | Diet | PHP Tipps 2005 | 6 | 25.03.2009 00:07 |
| bilder überlagern | Masteroi | PHP Tipps 2008 | 0 | 27.03.2008 09:08 |
| Zip Archiv entpacken und Bilder verkleinern | Simon9990 | PHP Tipps 2008 | 5 | 08.10.2007 00:32 |
| Bilder in HTML-Mails werden willkürlich "verissen" | hoffnungsloser | PHP-Fortgeschrittene | 3 | 25.04.2007 14:48 |
| bilder zu groß?! | lindner | PHP Tipps 2006 | 9 | 19.10.2006 08:32 |
| Bilder löschen die öffter vorhanden sind?! | Peoples | PHP Tipps 2006 | 6 | 28.05.2006 19:34 |
| Bilder "schützen" | PHP Tipps 2006 | 4 | 06.03.2006 15:25 | |
| Bilder löschen | PHP Tipps 2005-2 | 4 | 24.10.2005 11:37 | |
| Bilder aus einem unterverzeichis anzeigen.Hilfe | PHP Tipps 2005-2 | 3 | 12.09.2005 15:36 | |
| Mehrere Bilder Hochladen und bearbeiten | PHP Tipps 2005-2 | 7 | 23.07.2005 13:48 | |
| Bilder in Tabellen | nixdorf | HTML, Usability und Barrierefreiheit | 36 | 09.05.2005 21:15 |
| Bilder nach Namen anzeigen | PHP Tipps 2005 | 11 | 06.03.2005 15:41 | |
| Bilder aus der Datenbank | Skazi | Datenbanken | 2 | 09.02.2005 13:42 |
| Bilder upload (Massen) | PHP Tipps 2005 | 11 | 06.01.2005 14:14 | |
| Bildübersicht alle Bilder im Ordner... | PHP Tipps 2004 | 46 | 07.08.2004 20:20 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| weihnachtsumrandungen, weihnachtsumrandung bilder, bilder umrahmen, bild umrahmen, umrahmung für bilder, umrahmung für bilder-transparent, http://www.php.de/php-fortgeschrittene/43065-bilder-mit-transparenz-umrahmen.html, weihnachtsumrandung, umrahmung weihnachten, imagecolorallocate transparent, php createimage mit überlagerung wird schwarz, imagemagik transparenzfarbe, welcher farbcode ist bei jpg fast transparent, umrahmung weihnachten html, php fortgeschritten grafik alphakanal, bild umrahmung, jpg umrahmung, imagecopymerge schwarz, imagemagick transparent bild erweitern, quelltext transparenter rand um das bild java |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.