tag:forum.selfhtml.org,2005:/self mehrere Bilder zusammenfügen – SELFHTML-Forum 2003-05-30T17:53:13Z https://forum.selfhtml.org/self/2003/may/30/mehrere-bilder-zusammenfuegen/409741#m409741 Stefan Einspender http://www.favicon.de/ 2003-05-30T12:58:28Z 2003-05-30T12:58:28Z mehrere Bilder zusammenfügen <p>Hallo ForumsleserInnen,</p> <p>wie kann ich mit PHP mehrere Bilder zu einem Bild zusammenfügen?<br>  ___    ___<br> |   |  |   |<br> |___|  |___|<br>  ___    ___<br> |   |  |   |<br> |___|  |___|</p> <p>wird zu</p> <p>______<br> |      |<br> |      |<br> |      |<br> |______|</p> <p>Hat da jemand eine Idee, ein Verweis auf eine Funktion in PHP, die<br> so etwas ermöglicht, reicht mir schon aus.</p> <p>Viele Grüße,<br> Stefan</p> https://forum.selfhtml.org/self/2003/may/30/mehrere-bilder-zusammenfuegen/409746#m409746 Orlando self@skop.net http://skop.net/ 2003-05-30T13:02:43Z 2003-05-30T13:02:43Z mehrere Bilder zusammenfügen <p>Hi Ste*Patchwork*fan,</p> <blockquote> <p>wie kann ich mit PHP mehrere Bilder zu einem Bild zusammenfügen?<br>  ___    ___<br> |   |  |   |<br> |___|  |___|<br>  ___    ___<br> |   |  |   |<br> |___|  |___|</p> <p>wird zu<br>  ______<br> |      |<br> |      |<br> |      |<br> |______|</p> <p>Hat da jemand eine Idee, ein Verweis auf eine Funktion in PHP, die<br> so etwas ermöglicht, reicht mir schon aus.</p> </blockquote> <p>Pah, PHP... Mit float: bekommst du es sogar hin, dass sich das Bild der Fenstergröße anpasst ;-)</p> <p>Grüße,<br>  Ro*SCNR*land</p> <div class="signature">-- <br> <a href="http://my.opera.com/dev/articles/20030519/" rel="nofollow noopener noreferrer">http://my.opera.com/dev/articles/20030519/</a><br> <a href="http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm" rel="nofollow noopener noreferrer">http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm</a><br> selfcode = ss:| zu:} ls:} fo:} de:> va:} ch:| sh:) n4:& rl:| br:< js:{ ie:{ fl:{ mo:| </div> https://forum.selfhtml.org/self/2003/may/30/mehrere-bilder-zusammenfuegen/409742#m409742 Sven Rautenberg svenr@rtbg.de http://www.rtbg.de 2003-05-30T13:09:51Z 2003-05-30T13:09:51Z mehrere Bilder zusammenfügen <p>Moin!</p> <blockquote> <p>wie kann ich mit PHP mehrere Bilder zu einem Bild zusammenfügen?</p> </blockquote> <p>Mit imagecopy*()</p> <blockquote> <p>Hat da jemand eine Idee, ein Verweis auf eine Funktion in PHP, die<br> so etwas ermöglicht, reicht mir schon aus.</p> </blockquote> <p>Du brauchst die gdlib und benutzt dann einfach die von ihr angebotenen Funktionen.</p> <p>Grob als Orientierung: Du legst ein Ziel-Bild an, welches in der Größe alle zusammenzufügenden Bilder aufnehmen kann. Dann öffnest du jeweils die einzelnen Quell-Bilder und kopierst sie ins Ziel-Bild hinein. imagecopy() oder imagecopyresized() bzw. imagecopyresampled() sollten das prima erledigen können.</p> <p>Für die korrekte Positionierung der Bilder im Zielbild bist du selbst verantwortlich. :)</p> <p>- Sven Rautenberg</p> <div class="signature">-- <br> ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:| </div> https://forum.selfhtml.org/self/2003/may/30/mehrere-bilder-zusammenfuegen/409743#m409743 Stefan Einspender http://www.patchwork.favicon.de/ 2003-05-30T15:42:27Z 2003-05-30T15:42:27Z mehrere Bilder zusammenfügen <p>Hallo Sven,</p> <blockquote> <p>Mit imagecopy*()</p> </blockquote> <p><?PHP<br> $favicon = imagecreatefrompng("favicon.png");<br> $patchwork = imagecreatefrompng("patchwork.png");<br> imagecopy($patchwork,$favicon,0,0,0,0,32,32);<br> imagepng($patchwork,"patchwork.png");<br> ?></p> <p>ist mein Beispiel, nur basiert dann patchwork.png immer auf den 256<br> websicheren Farben, was ich natürlich nicht will. Wie kann ich das<br> Problem umgehen? Ist womöglich <a href="http://php.net/imagecreatetruecolor" rel="noopener noreferrer">http://php.net/imagecreatetruecolor</a><br> die Lösung? Wenn ja, gibt es eine Alternative, weil ich keine GD<br> 2+ zur Verfügung habe?</p> <blockquote> <p>Für die korrekte Positionierung der Bilder im Zielbild bist du selbst verantwortlich. :)</p> </blockquote> <p>Ja, sollte kein Problem sein. Nur wenn obengen. Sache nicht lösbar<br> ist, nutzt mir der ganze Kram nix ;-)</p> <p>Viele Grüße,<br> Stefan</p> https://forum.selfhtml.org/self/2003/may/30/mehrere-bilder-zusammenfuegen/409744#m409744 Sven Rautenberg svenr@rtbg.de http://www.rtbg.de 2003-05-30T16:58:12Z 2003-05-30T16:58:12Z mehrere Bilder zusammenfügen <p>Moin!</p> <blockquote> <p><?PHP<br> $favicon = imagecreatefrompng("favicon.png");<br> $patchwork = imagecreatefrompng("patchwork.png");<br> imagecopy($patchwork,$favicon,0,0,0,0,32,32);<br> imagepng($patchwork,"patchwork.png");<br> ?></p> <p>ist mein Beispiel, nur basiert dann patchwork.png immer auf den 256<br> websicheren Farben, was ich natürlich nicht will.</p> </blockquote> <p>Nein, nicht 256 websichere Farben werden genommen, sondern die Palette des ersten Bildes (bzw. das, in das hinein du den Rest kopierst).</p> <blockquote> <p>Wie kann ich das Problem umgehen? Ist womöglich <a href="http://php.net/imagecreatetruecolor" rel="noopener noreferrer">http://php.net/imagecreatetruecolor</a><br> die Lösung? Wenn ja, gibt es eine Alternative, weil ich keine GD<br> 2+ zur Verfügung habe?</p> </blockquote> <p>imagecreatetruecolor ist in der Tat die Lösung. Die gdlib kann leider in Version 1.x noch nicht mit True Color umgehen, das kam IIRC erst mit Version 2. Diese ist zum Glück mit PHP 4.3.x gebundelt - das einzelne Installieren aus dem Source war nämlich nicht ganz so trivial.</p> <p>Alternativen gibts da leider irgendwie keine - jedenfalls nicht mit der gdlib. Wenn du hast oder installieren kannst, wäre ImageMagick noch eine Idee.</p> <p>- Sven Rautenberg</p> <div class="signature">-- <br> ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:| </div> https://forum.selfhtml.org/self/2003/may/30/mehrere-bilder-zusammenfuegen/409745#m409745 Stefan Einspender http://www.favicon.de/ 2003-05-30T17:53:13Z 2003-05-30T17:53:13Z mehrere Bilder zusammenfügen <p>Hallo Sven,</p> <blockquote> <p>Nein, nicht 256 websichere Farben werden genommen, sondern die Palette des ersten Bildes (bzw. das, in das hinein du den Rest kopierst).</p> </blockquote> <p>komisch, bei mir hat er da immer alle Farben genommen, nur eben<br> dieser websicheren Farbpalette angeglichen. Wenn ich also ein<br> komplett grünes in ein komplett rotes Bild reinkopiere, ist in der<br> Palette nur rot und grün. Wenn ich da ein Foto reinkopiere, wird<br> die Palette angepasst, nur eben nach wie vor ausschließlich web-<br> sichere Farben, was dann nicht so dolle ausschaut :-/</p> <p>Naja, ist letztendlich egal, weil diese Variante taugt nix für mich.</p> <blockquote> <p>Diese ist zum Glück mit PHP 4.3.x gebundelt</p> </blockquote> <p>Hm ... ich werde mal bei 1&1 anrufen, ob dieser Wechsel vielleicht<br> demnächst angedacht ist, da brauche ich nicht unnötig noch einer<br> Alternative suchen.</p> <blockquote> <p>Wenn du hast oder installieren kannst, wäre ImageMagick noch eine Idee.</p> </blockquote> <p>Gute Idee, gibt es ja afaik auch für Windows, da schaue ich mal.</p> <p>Danke & Viele Grüße,<br> Stefan</p> https://forum.selfhtml.org/self/2003/may/30/mehrere-bilder-zusammenfuegen/409747#m409747 Stefan Einspender http://www.patchwork.favicon.de/ 2003-05-30T13:11:00Z 2003-05-30T13:11:00Z mehrere Bilder zusammenfügen <p>Hallo Roland,</p> <blockquote> <p>Hi Ste*Patchwork*fan,</p> </blockquote> <p>^^^^^^^^^</p> <blockquote> <p>Pah, PHP... Mit float: bekommst du es sogar hin, dass sich das Bild der Fenstergröße anpasst ;-)</p> </blockquote> <p>gut, dann kurze Rechnung ... durch den Spiegel-Artikel sind etwa<br> 20.000 Besucher zusätzlich auf meine Website gekommen, macht dann<br> bei 768 einzelnen Grafiken + HTML-Datei jedesmal 769 Einträge [1],<br> summa summerum einen Logfile von mehr als 3 GB (unkomprimiert) und<br> mit 15.380.000 Zeilen, wie soll ich den auswerten? ;-)</p> <p>Ich habe gerade <a href="http://php.net/imagecopy" rel="noopener noreferrer">http://php.net/imagecopy</a> entdeckt, könnte die Lösung<br> sein. Wenn jemand etwas Besseres weiß oder mir ein Übungsbeispiel [2]<br> schreibt, bin ich natürlich auch nicht böse ;-)</p> <p>Viele Grüße,<br> Stefan</p> <p>[1] Viele Computer werden allerdings während des Ladevorganges in<br>     die Knie gehen, ist auch abhängig vom verwendeten Browser. Ich<br>     habe mir schon Probleme, wenn ich derzeit die Gesamtgrafik er-<br>     stelle (Screenshot im MSIE-Vollbildmodus), deshalb suche ich<br>     nach einer besseren Variante.</p> <p>[2] Werde bestimmt irgendwo etwas finde, wo schonmal jemand diese<br>     Funktion angewendet hat. Wenn es eine bessere Möglichkeit gibt,<br>     dann dürft Ihr die mir gern verraten ;-)</p> https://forum.selfhtml.org/self/2003/may/30/mehrere-bilder-zusammenfuegen/409748#m409748 Orlando self@skop.net http://skop.net/ 2003-05-30T13:24:29Z 2003-05-30T13:24:29Z mehrere Bilder zusammenfügen <p>Hi Stefan,</p> <blockquote> <p>gut, dann kurze Rechnung ... durch den Spiegel-Artikel sind etwa<br> 20.000 Besucher zusätzlich auf meine Website gekommen,</p> </blockquote> <p>ich wünsche dir, dass das noch öfter passiert, würde aber von den Besucherzahlen davor ausgehen. Abgesehen davon warten Modembesitzer bei einem fast 0.5MB großen Bild *sehr* lange. Allerdings ist der HTTP-Overhead bei so vielen Bildern wahrscheinlich größer, als das aktuelle Bild selbst. Also: [GENEHMIGT]</p> <blockquote> <p>macht dann<br> bei 768 einzelnen Grafiken + HTML-Datei jedesmal 769 Einträge [1],<br> summa summerum einen Logfile von mehr als 3 GB (unkomprimiert) und<br> mit 15.380.000 Zeilen, wie soll ich den auswerten? ;-)</p> </blockquote> <p>Tsts, wenn ich nach einem Tool zur Logfile-Analyse suche, warum lese ich dann immer wieder deinen Namen? ;-)</p> <p>Grüße,<br>  Roland</p> <div class="signature">-- <br> <a href="http://my.opera.com/dev/articles/20030519/" rel="nofollow noopener noreferrer">http://my.opera.com/dev/articles/20030519/</a><br> <a href="http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm" rel="nofollow noopener noreferrer">http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm</a><br> selfcode = ss:| zu:} ls:} fo:} de:> va:} ch:| sh:) n4:& rl:| br:< js:{ ie:{ fl:{ mo:| </div>