Dynamische Signatur

Tageslicht

Mitglied
Hallo zusammen ,

ich habe hier ein kleines Problem :

ich möchte mir eine Signatur Programmieren , aber es erkennt nicht wenn ich einen ZEILENUMBRUCH ( < br > ) eingebe , kann sich mal wer den code anschauen und sagen was fehlt ?

Code:
<?
Header("Content-Type: image/png"); 
$width = 200; 
$height = 100; 
$img = ImageCreateFromJPEG('laune.jpg'); Vorhandenen Bild benutzt (hier: g.jpg) 
$black = ImageColorAllocate($img, 0, 0, 0); 
$font_height = ImageFontHeight(3); $font_width = ImageFontWidth(3); $image_height = ImageSY($img); $image_width = ImageSX($img); $text = "Mein Name ist LLCoolDannY! <br>&nbsp; Test"; $length = $font_width*strlen($text); 
$image_center_x = ($image_width/1)-($length/1); 
$image_center_y = ($image_height/1.5)-($font_height/1.5); 
ImageString($img, 3, $image_center_x, $image_center_y, $text, $black); 
ImagePNG($img); 
ImageDestroy($img) 
?>

Bild und Text werden angezeigt nur eben nicht der Zeilen umbruch


Mfg
 
habe es nun so gemacht :

$text = 'Mein Name ist LLCoolDannY! "\n" Test';


und er gibt mir das als ausgabe :

Mein Name ist LLCoolDannY! "\n" Test
ich glaub ich bin etwas daneben oder doch zu ****
 
Das liegt daran, dass mit ' gekennzeichnete Strings nicht geparsed werden, sprich jedes Zeichen wie angegeben auch ausgegeben wird. Nutze also " für den String, und um das \n machst du gar keine Anführungszeichen (wozu auch).
 
habe es jetzt so gemacht und nun kommt anstelle des Umbruches ein komiches zeichen !

Sieht aus wie ein V und darunter eine 1

irgentwas passt da wohl net
 
Zuletzt bearbeitet:
Der mußt den Zeilenumbruch per Hand raussuchen. Zum Beispiel kannst Du den String mit [phpf]explode[/phpf] in ein Array zerlegen, welches die einzelnen Zeilen enthält. Die Zeilen mußt Du dann in einer Schleife mit entsprechend veränderter y-Position einzeln ausgeben, da [phpf]imagestring[/phpf] nicht selbst mit Zeilenumbrüchen umgehen kann.

Gruß hpvw
 
So habe es nun so :


Code:
<? 
$zeit = date("H:i:s", time()); 
$datum = date("d.m.Y", time()); 
$ip = $_SERVER["REMOTE_ADDR"]; 
$pic = ImageCreateFromJPEG('laune.jpg'); # Hier wird das Bild einer von einem Vorhandenen Bild benutzt (hier: g.jpg)
$schwarz = ImageColorAllocate($pic, 0, 0, 0); # Farbe schwarz 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, 250, 3, "Uhrzeit: ".$zeit, $schwarz);
ImageString($pic, 4, 250, 18, "Datum: ".$datum, $schwarz);
Imagestring($pic, 4, 250, 33, "Deine IP: ".$ip, $schwarz);
ImagePNG($pic); 
ImageDestroy($pic) 
?>

Funktioniert SUPER , aber in einen Wold Forum wird es nicht angezeigt !
Kann es daran liegen das es keine Bild endung hat ?
url endet mit *.php

Wenn ja was kann ich machen ?

greez
 
Du könntest mit mod_rewrite arbeiten :google:
Du könntest auch versuchen, die Seite zu überlisten, indem Du einen Ordner mit dem Namen "signatur.jpg" anlegst und das Skript als index.php in dieses Verzeichnis legst.

Gruß hpvw
 
ja das mit den austricksen ist ne gute idee , aber geht ist leider nicht machbar weil :


ich am ende der URL das noch dranhängen muss :

?Id=123 zum beispiel


na mal sehen ob ich was anderes hinbekomme

danke trotzdem
 
Dann versuche doch mit dem Übergabeparameter zu tricksen. Vielleicht werden ja nur die letzten 4 Zeichen geprüft:
Code:
www.domain.tld/signatur.php?Id=123&name=sig.jpg
Gruß hpvw
 
Zurück