dynamische signatur+avatar

xlanhackerx

Mitglied
Hallöchen allerseits.
Ich arbeite im Moment für meine Community an einer Dynamischen Signatur für die User.
Hier mein Code, welcher im moment noch auf analoger eintragung arbeitet, wird aber bald dynamisch mittels datenbank.
PHP:
<?php
$name = "Test Name für die Signatur";  
$status = "Online"; 
$punkte = "10"; 
$forenposts= "10";
$avatar ="avtar/useravatar1.jpg";

$pic = ImageCreateFromPNG('images/signatur.png'); 
$schwarz = ImageColorAllocate($pic, 255, 255, 255); # Farbe weiß mit $black festlegen 
$font_height = ImageFontHeight(3); # Hier wird die Schrifthöhe mit 3 belegt (hier könnt ihr mit den Werten rumprobieren) 
$font_width = ImageFontWidth(3); # Hier wird die Schriftbreite mit 3 belegt (hier könnt ihr mit den Werten rumprobieren) 
$image_height = ImageSY($pic); # Hier wird in einer Variable die Höhe des Bildes (hier g.jpg) gespeichert 
$image_width = ImageSX($pic); # Hier wird in einer Variable die Breite des Bildes (hier g.jpg) gespeichert


ImageString($pic, 4, 140, 7, "Ultimate-Base Signatur", $schwarz);

ImageString($pic, 4, 80, 30, "Name: ".$name, $schwarz);


ImageString($pic, 4, 80, 50, "Status: ".$status, $schwarz);

Imagestring($pic, 4, 80, 70, "Punkte: ".$punkte, $schwarz);

Imagestring($pic, 4, 80, 90, "Forenposts: ".$forenposts, $schwarz);

ImagePNG($pic);
ImageDestroy($pic)  

?>

Wie man meinem Code entnehmen kann wird auf eine Grafik die oben stehenden Werte aufgesetzt. Bloß was nicht klappt ist noch ein Avatar mit in die Grafik einzufügen.

Ich lasse die User mittels einem Script ihr wunschavatar hochladen. Dort wird die Grafik dann in den Ordner Avatar Kopiert und der Pfad in die Datenbank eingetragen.

Bloß wie bekomme ich das bestimmte Avatar noch mit auf diese jetztige Grafik
Habs mit imagecopy versucht aber ich bekomme es nicht hin.
Wäre echt nett wenn mir jemand nen Code beispiel für meins geben könnte oder mit einen Tipp zukommen lässt wie ich das ganze realisieren kann !

Danke schonmal.

Mfg. Oliver
 
/* Edit: Habe den ganzen Beitrag umgeschrieben */

Hallo xlanhackerx,

leider kann ich deinem Beitrag nicht so ganz folgen.
Kannst du mir einmal ganz genau schreiben, was auf dem Bild zu sehen sein soll und was es nun ist - Signatur, Avatar oder etwas anderes?

Ich behaupte mal, ganz frech, dass das nicht dein eigenes Skript ist. Denn man kann deutlich sehr viele Ungereimtheiten erkennen.
Zum Beispiel: Die Variablen $avatar, $font_height, $font_width, $image_height und $image_width, die du überhaupt nicht benutzt.
Das machen viele Leute verkehrt, anstatt zu versuchen, ein ordentliches Skript selber zu schreiben und dafür dann auch verstehen was dort
passiert, wird einfach ein x-beliebiges Skript unkenntlich gemacht, bis keiner mehr denn eigentlichen Sinn dahinter verstehen kann.

So viel dazu. Dein Skript funktioniert ohne Probleme, falls dir das nicht ohnehin bewusst sein sollte.
Allerdings kannst du es stark vereinfachen, da du so viele Elemente gar nicht gebrauchst.
Eine persönliche Meinung ist, dass Arrays sehr wohl zur Ordnung und Überschaubarkeit beitragen können.
Aber das ist reine Geschmackssache, spürbare Performance wirst du dadurch wohl nicht gewinnen/verlieren.
PHP:
<?php
header("Content-type: image/png");

$mFarbe = array();
$mInfo  = array("Name"      => "Tester",
                "Status"    => "Online",
                "Punkte"    => 10,
                "Beitraege" => 666);      //Der olle Antichrist

$mBild             = ImageCreateFromPNG('images/signatur.png');
$mFarbe['Weiss']   = ImageColorAllocate($mBild, 255, 255, 255);
//$mFarbe['Schwarz'] = ImageColorAllocate($mBild,   0,   0,   0);
//...

ImageString($mBild, 3, 10, 10, "Ultimate-Base Signatur", $mFarbe['Weiss']);
ImageString($mBild, 3, 20, 24, "Name:      ".$mInfo['Name'], $mFarbe['Weiss']);
ImageString($mBild, 3, 20, 36, "Status:    ".$mInfo['Status'], $mFarbe['Weiss']);
Imagestring($mBild, 3, 20, 48, "Punkte:    ".$mInfo['Punkte'], $mFarbe['Weiss']);
Imagestring($mBild, 3, 20, 60, "Beiträge:  ".$mInfo['Beitraege'], $mFarbe['Weiss']);

ImagePNG($mBild);

ImageDestroy($mBild)  
?>

Versuch es so anzupassen, dass es für dich verständlich und überschaubar bleibt und
informiere dich hier über die einzelnen Funktionen, die du verwendest!
Du kannst wohl kaum das machen, was du vorhast, wenn du überhaupt nicht weißt, was du eigentlich tust.

Falls du Hilfe brauchst stehe ich gerne zur Verfügung, nur müsstest du deinen Beitrag strukturierter gestalten. Ich höre mich an wie mein Deutschlehrer :(

Offtopic: Ultimate-Base? Ist das hier etwa deine Seite?
 
Zuletzt bearbeitet:
Hmm ok danke schonmal für den Hinweiß.
Nein die funpic seite war mal was ganz altes. Meine neue kommt bald ende diesen Monats online, http://www.ultimate-base.de so heißt die.
Ich habe das Script von einem Kollegen aus meinem Informatikkurs bekommen, allerdings ist der nicht mehr in der Schule, hat leider nicht die Oberstufe geschaft :suspekt:
Also ich versuch es jetzt nochmal.
Im anhang zu sehen, die Signatur mit meinem jetztigen Script. Diese Signatur kann später der User bei sich einfügen. Da ich mit mod_rewrite arbeite wird das ganze so aussehen:
ultimate-base.de/signatur/Username.gif oder jpg.. Das ganze wird aber Script intern so aufgerufen: ultimate-base.de/signatur/signatur.php?user=Username

Soweit noch verständlich oder
Nun soll wie man meiner Grafik entnehmen kann links in dem Freiraum, also vor den jeweiligen Sätzen das Avatar des Users mit eingebaut werden. Dies sieht man anhand der Grafik 2. Hoffe ich habe mich jetzt immernoch soweit einigermaßen verständlich ausgedrückt.

Deshalb der Pfad $avatar="images/avatar/useravatar_small.jpg";
_small deshalb da mein Uploadscript das Useravatar einmal im Original hochläd und in der verkleinerten Version für die Sig.

Hoffe jetzt könnte mir jemand helfen.
Mfg. Oliver
 

Anhänge

  • signatur.JPG
    signatur.JPG
    8,4 KB · Aufrufe: 80
  • signatur2.JPG
    signatur2.JPG
    9 KB · Aufrufe: 67
Tag xlanhackerx!

Ja, jetzt habe ich es auch verstanden.
Gut, dass du mir ein Beispiel gegeben hast.

_small deshalb da mein Uploadscript das Useravatar einmal im Original hochläd
und in der verkleinerten Version für die Sig.
Ist unnötig, man kann sich den
Speicherplatz sparen und das Avatar noch beim Kopieren verkleinern.

Oh nein, bitte nicht. Nimm weder gif noch jpg. Das einzig wahre Format ist PNG.

Ansonsten, hier hast du mein bearbeitetes Skript.
Skript -> Beispiel
Skript -> Source
Projekt (komplett) -> Zip-Archiv

Aber aufpassen:
Die beiliegende .htaccess Datei wird von den meisten Freehostern (bzw. von deren
Webservern) ignoriert. Sollte das der Fall sein, musst du nur "signature-php.png" in
"signature.php" umbennen. Das hat auch den Vorteil, dass du das Skript wieder aktiv
debuggen kannst :)

Edit:
Falls du es nicht schon längst bemerkt haben solltest, die "signature-php.png" Datei
ist keine echte PNG Datei. Es ist das eigentliche Skript, das du am Besten mit einem
guten Texteditor, wie Notepad2 öffnest. (Rechtsklick -> Öffnen mit... -> Notepad2)
Und falls du mein Skript noch ein wenig mehr wie deines aussehen lassen möchtest,
dann ersetz den Inhalt der "signature-php.png" (in meinem Projekt) mit dem Inhalt
dieser Datei (Vorschau).

Hoffe ich konnte dir wenigstens etwas helfen.
 
Zuletzt bearbeitet:
vielen dank, du hast mir sehr geholfen.
Ich habe mein Webspace bei all-inkl von daher funktioniert mod_rewirte.

Danke nochmal und wenn fragen auftreten weiß ich ja wo ich mich melden kann ;-)

Mfg. Oliver
 
So da bin ich leider mal wieder !!
Ich habe die Signatur erfolgreich umgesetzt und würde jetzt gerne noch zwei weiter
"Addons" einbringen.Das erste wäre eine bestimmte Schriftart verwenden zu können !
Desweiteren möchte ich alle "Beschreibenden Wörter" wie z.B.
Code:
Name: /Status: / usw.
In einer anderen Farbe darstellen, wobei dort vielleicht zusätzlich auch mit einem anderen Font gearbeitet werden könnte.

Hoffe ihr könnt mein Vorhaben nachvollziehen und hoffe auf einen guten Support :rolleyes:

Mfg. Oliver
 
Hallo,

Das thema ist zwar schon alt.

Zwar hat wer die Lösung noch weil die Links Funktionieren nicht mehr.


Mfg.
 
Zurück