8 Grafiken in PHP zusammenfügen (für Forum-Sig)

Army Man

Mitglied
Hi,

seit Stunden versuche ich vergeblich mit PHP etwas zu programmieren, ich hoffe, einer kann mir dabei weiterhelfen. (Leider muss ich gestehen, dass ich mich mit PHP, im Gegensatz zu HTML eher wenig auskenne.)
Selbst nach langer Suche über Google und bei anderen PHP-Seiten konnte ich kaum etwas brauchbares finden....

Folgenes schwebt mir vor: (Sry, muss dafür ein wenig ausholen.)
Da ich als Messenger Trillian verwende (ist einigen vielleicht nicht ganz unbekannt) habe ich natürlich auch Accounts für sämtliche Plattformen (ICQ, MSN, AIM,...)
Über einen Service (http://www.onlinestatus.org) ist es möglich, sich seinen on- bzw. offline-Status anzeigen zu lassen. Gesagt getan, habe ich mir gestern einige Grafiken dafür erstellt und alles hier http://www.mag-luechow.de/I.php miteinander kombiniert, soweit so gut. Der Status wird korrekt angezeigt.

Genau diese Anzeige hätte ich jetzt gerne als Forum-Signatur, aber, wie jeder sehen kann, ist der Quelltext dafür natürlich viel zu lang, um auch nur einen sinnvollen Teil davon verwenden zu können.
Ich bräuchte daher ein PHP-Script welches alle 8 Grafiken zu einem "Bild" vereint. Abrufbar sollte das ganze dann wie folgt sein: <img src="www.adresse.de/status.php">
(Bei Foren wäre es dann natürlich [IMG] und [/IMG] oder ähnliches)

Versucht hab ich das ganze schon mit folgenen Code-Schnippseln, aber weitergeholfen hat mir das leider nicht:

Code:
 <?PHP
$image = 
header("Content-Type: image/png");
imagepng($image);
?>
Code:
 <?php
$im = ImageCreateFromPNG("test.png");
ImagePNG($im);
?>


Ich hoffe, man versteht was ich vor habe...
Wäre wirklich dankbar für eure Hilfe.

Gruß ArmyMan
 
Na ja, im Moment werden die verschiedenen Grafiken nur aneinander gereiht.
Hier der Quelltext:

Code:
<?php 
print "<img src='http://mitglied.lycos.de/ArmyMan0815/trillian/l.png'>";
print "<img src='http://checker.tdknights.com:1337/icq/109958202/onurl=mitglied.lycos.de/ArmyMan0815/trillian/icq_online.png/offurl=mitglied.lycos.de/ArmyMan0815/trillian/icq_offline.png/unknownurl=mitglied.lycos.de/ArmyMan0815/trillian/icq_un.png'>";
print "<img src='http://checker.tdknights.com:1337/msn/Einzelteile@gmx.net/onurl=mitglied.lycos.de/ArmyMan0815/trillian/msn_online.png/offurl=mitglied.lycos.de/ArmyMan0815/trillian/msn_offline.png/unknownurl=mitglied.lycos.de/ArmyMan0815/trillian/msn_un.png'>";
print "<img src='http://checker.tdknights.com:1337/aim/ArmyManAMZ/onurl=mitglied.lycos.de/ArmyMan0815/trillian/aim_online.png/offurl=mitglied.lycos.de/ArmyMan0815/trillian/aim_offline.png/unknownurl=mitglied.lycos.de/ArmyMan0815/trillian/aim_un.png'>";
print "<img src='http://checker.tdknights.com:1337/yahoo/army_man_amz/onurl=mitglied.lycos.de/ArmyMan0815/trillian/yahoo_online.png/offurl=mitglied.lycos.de/ArmyMan0815/trillian/yahoo_offline.png/unknownurl=mitglied.lycos.de/ArmyMan0815/trillian/yahoo_un.png'>";
print "<img src='http://checker.tdknights.com:1337/jabber/ArmyMan@amessage.de/onurl=mitglied.lycos.de/ArmyMan0815/trillian/jabber_online.png/offurl=mitglied.lycos.de/ArmyMan0815/trillian/jabber_offline.png/unknownurl=mitglied.lycos.de/ArmyMan0815/trillian/jabber_un.png'>";
print "<img src='http://checker.tdknights.com:1337/irc/uS%5EArmyMan/onurl=mitglied.lycos.de/ArmyMan0815/trillian/irc_online.png/offurl=mitglied.lycos.de/ArmyMan0815/trillian/irc_offline.png/unknownurl=mitglied.lycos.de/ArmyMan0815/trillian/irc_un.png'>";
print "<img src='http://mitglied.lycos.de/ArmyMan0815/trillian/r.png'>";
?>

(Das ganze würde, ein wenig abgeändert, natürlich auch in HTML funktionieren.)

Gruß Army Man
 
Das wird so nichts. Schau dir mal die Funktionen der gd_lib an.
Du solltest dir damit ein neues Bild in der gewünschten Größe erstellen und dann die anderen Bilder dynamisch dort einkopieren.
 
Danke erstmal für die Hilfe :)
Anhand der Informationen auf der Seite, habe ich das ganze zunächst an einer Grafik ausprobiert. Wenigstens ergibt das ganze keine Fehlermeldung, aber bis auf die Abmessungen wird kein Bild erstellt....
(Daraus, das die Abmessungen (X,Y) richtig sind, schließe ich, dass die Grafik wenigstens irgendwie eingelesen wird)

Code:
<?php
$im1 = imagecreatefrompng("http://mitglied.lycos.de/ArmyMan0815/trillian/r.png");
imagecopy($im2, $im1, 0, 0, 0, 0, imagesx($im1), imagesy($im1));
 
header ("Content-type: image/png");
$im2 = @ImageCreate (144, 50);
imagepng ($im2);
?>

Weiß jemand Rat ?

Gruß Army Man
 
Du solltest $im2 erst einmal erstellen, bevor du da was reinkopierst. Ansonsten erstellst du am Ende ein neues Bild und gibst es aus, das ist logischerweise leer.

PHP:
<?php
$im1 = imagecreatefrompng("http://mitglied.lycos.de/ArmyMan0815/trillian/r.png");
$im2 = ImageCreate (144, 50);
imagecopy($im2, $im1, 0, 0, 0, 0, imagesx($im1), imagesy($im1));
 
header ("Content-type: image/png");
imagepng ($im2);
?>
 
Genau das hat mir gefehlt, danke, so funktioniert es. (Wenigstens teilsweise)
Inzwischen habe ich auch alle andere Grafiken bzw. Status-Abfragen eingefügt:

PHP:
<?php 
$im1 = imagecreatefrompng("http://mitglied.lycos.de/ArmyMan0815/trillian/l.png"); 
$im2 = imagecreatefrompng("http://checker.tdknights.com:1337/icq/109958202/onurl=mitglied.lycos.de/ArmyMan0815/trillian/icq_online.png/offurl=mitglied.lycos.de/ArmyMan0815/trillian/icq_offline.png/unknownurl=mitglied.lycos.de/ArmyMan0815/trillian/icq_un.png"); 
$im3 = imagecreatefrompng("http://checker.tdknights.com:1337/msn/Einzelteile@gmx.net/onurl=mitglied.lycos.de/ArmyMan0815/trillian/msn_online.png/offurl=mitglied.lycos.de/ArmyMan0815/trillian/msn_offline.png/unknownurl=mitglied.lycos.de/ArmyMan0815/trillian/msn_un.png");
$im4 = imagecreatefrompng("http://checker.tdknights.com:1337/aim/ArmyManAMZ/onurl=mitglied.lycos.de/ArmyMan0815/trillian/aim_online.png/offurl=mitglied.lycos.de/ArmyMan0815/trillian/aim_offline.png/unknownurl=mitglied.lycos.de/ArmyMan0815/trillian/aim_un.png");
$im5 = imagecreatefrompng("http://checker.tdknights.com:1337/yahoo/army_man_amz/onurl=mitglied.lycos.de/ArmyMan0815/trillian/yahoo_online.png/offurl=mitglied.lycos.de/ArmyMan0815/trillian/yahoo_offline.png/unknownurl=mitglied.lycos.de/ArmyMan0815/trillian/yahoo_un.png");
$im6 = imagecreatefrompng("http://checker.tdknights.com:1337/jabber/ArmyMan@amessage.de/onurl=mitglied.lycos.de/ArmyMan0815/trillian/jabber_online.png/offurl=mitglied.lycos.de/ArmyMan0815/trillian/jabber_offline.png/unknownurl=mitglied.lycos.de/ArmyMan0815/trillian/jabber_un.png");
$im7 = imagecreatefrompng("http://checker.tdknights.com:1337/irc/uS%5EArmyMan/onurl=mitglied.lycos.de/ArmyMan0815/trillian/irc_online.png/offurl=mitglied.lycos.de/ArmyMan0815/trillian/irc_offline.png/unknownurl=mitglied.lycos.de/ArmyMan0815/trillian/irc_un.png");
$im8 = imagecreatefrompng("http://mitglied.lycos.de/ArmyMan0815/trillian/r.png");
$im9 = ImageCreate (400, 50);
 
imagecopy($im9, $im1, 0, 0, 0, 0, imagesx($im1), imagesy($im1));
imagecopy($im9, $im2, 4, 0, 0, 0, imagesx($im2), imagesy($im2));
imagecopy($im9, $im3, 46, 0, 0, 0, imagesx($im3), imagesy($im3)); 
imagecopy($im9, $im4, 88, 0, 0, 0, imagesx($im4), imagesy($im4)); 
imagecopy($im9, $im5, 130, 0, 0, 0, imagesx($im5), imagesy($im5)); 
imagecopy($im9, $im6, 172, 0, 0, 0, imagesx($im6), imagesy($im6)); 
imagecopy($im9, $im7, 214, 0, 0, 0, imagesx($im7), imagesy($im7)); 
imagecopy($im9, $im8, 256, 0, 0, 0, imagesx($im8), imagesy($im8)); 
 
header ("Content-type: image/png"); 
imagepng ($im9); 
?>

Komischerweise wirft er mir bei jedem 2. Versuch eine riesen Fehlermeldung aus :confused:

Gruß ArmyMan

PS: Warum ist dabei eigentlich die Grafik-Qualität (nur 256 Farben) so dermaßen schlecht ?
 
Zurück