Thumbnail mit oben Text !! aber wie unten

X-Gamer

Grünschnabel
Ich habe jetzt ein script gemacht zum erstellen von thumbnails!!

siehe http://xcrypt.extra.hu/test.php

aber der text sollte nicht oben stehen sondern unten wie kann ich das machen

hier der code

PHP:
<?

		 /**
    * AddTextWatermark
    * platziert einen geg. (einzeiligen) Textstring in geg. (JPG)Bilddatei
    */
       

             /* Allg. Variablen */
			 
   /* Allg. Variablen */
   $SrcImgPath = "TEST2.JPG";
   
   	$size = getimagesize($SrcImgPath);
						
       $height = $size[1];
       $width = $size[0];
	$siz =  filesize($SrcImgPath) / 1024;
$siz2 = explode(".", $siz);

   $TxtString = "$width x $height $siz2[0]KB";
			 
         $FontType = 'andale12.gdf';
             $PaddingHeight = 4;
             $PaddingWidth = 8;
                  $transparency = 80;
                  $RGBValuesBG = 174;
				     $RGBValuesBG1 = 171;
					    $RGBValuesBG2 = 182;
         $RGBValuesFont = 255;

         /* Pruefen, ob Font vorhanden und Laden */
                  if(file_exists($FontType))    {
                 $FontType = imageloadfont($FontType);
                  } else {
                      return    FALSE;    }

             /* Abmessungen d. Wasserzeichens festlegen */
             $StringWidth = imagefontwidth($FontType) * strlen($TxtString)+$PaddingWidth;
             $StringHeigth = imagefontheight($FontType) + $PaddingHeight;

             /* Text- und Hintergrundfarbe,Handler fuer Wasserzeichen */
             $StrImg = imagecreate($StringWidth,$StringHeigth);
             $BackColor = imagecolorallocate($StrImg,RGBValuesBG,RGBValuesBG1,RGBValuesBG2);
             $TxtColor = imagecolorallocate($StrImg,$RGBValuesFont,$RGBValuesFont,$RGBValuesFont);

             /* Handler d. Textbildes mit Text versehen  */
             imagestring($StrImg,$FontType,$PaddingWidth/2,$PaddingHeight/2,$TxtString,$TxtColor);

             /* Handler vom Orginalbild erstellen */
             $SrcImg = imagecreatefromjpeg($SrcImgPath);

             /* Aus beiden Handlern ein Bild machen (StrImg in SrcImg einkopieren) */
             imagecopymerge($SrcImg,$StrImg,0,0,0,0,$StringWidth,$StringHeigth,$transparency);

             /* Neues Bild (Orginalbild mit Beschriftung) ueberschreiben */
             imagejpeg($SrcImg,'img/X1185371569.jpg');

       // function AddTextWatermark  
		 
		 echo '<img src="TEST2.JPG"/> <br />
<br /> <img src="img/X1185371569.jpg"/>
';
?>

MfG X-gamer
 
Komische Frage, weil es einfach nur etwas Mathe ist.

Beispiel Text soll unten rechts:

Die Textbreite kann man ermitteln mit imagefontwidth.
Also ist die X-Postion = Breite von Bild - Textbreite - Abstand vom Rand (z.B. 10px);
Und Y-Postion = Höhe vom Bild - Höhe der Schrift - Abstand vom unteren Rand (auch z.B. 10px)

Wo ist jetzt da Problem ?
 
Komische Frage, weil es einfach nur etwas Mathe ist.

Beispiel Text soll unten rechts:

Die Textbreite kann man ermitteln mit imagefontwidth.
Also ist die X-Postion = Breite von Bild - Textbreite - Abstand vom Rand (z.B. 10px);
Und Y-Postion = Höhe vom Bild - Höhe der Schrift - Abstand vom unteren Rand (auch z.B. 10px)

Wo ist jetzt da Problem ?

ne wenn ich da was verändere wird nur das feld mit dem text größer aber die pos ändert sich nich!!
 
Er hat schon Recht, schau dir mal dir Funktion:

int imagestring ( resource im, int font, int x, int y, string s, int col )

ImageString() gibt den String s in dem durch den Parameter im bezeichneten Bild an den Koordinaten x und y aus. Die Koordinaten 0, 0 geben die linke obere Ecke des Bildes im an. Der Font erscheint in der Farbe col. Hat font den Wert 1, 2, 3, 4 oder 5 wird ein interner Font benutzt.

das heißt du musst die Werte $PaddingHeight, und $PaddingWidth ändern.

Wobei $PaddingWidth, könntest du so belassen, bei $PaddingHeight gibst du dann die Bildhöhe-10 an (musst du testen).

Dann sollte das so funktionieren wie du das geplant hast
 
imagecopymerge($SrcImg,$StrImg,0,0,0,0,$StringWidth,$StringHeigth,$transparency);

Dann sind es diese 4 Nullen, 1 und 2 sind die x und y Werte des Bildes und 3 und 4 die x und y Werte des Strings
 
imagecopymerge($SrcImg,$StrImg,0,0,0,0,$StringWidth,$StringHeigth,$transparency);

Dann sind es diese 4 Nullen, 1 und 2 sind die x und y Werte des Bildes und 3 und 4 die x und y Werte des Strings

thx ich habe das jetzt gemacht siehe die seite

ich lasse jetzt berechnen mit der größe des thumbnail - string größe dann gehts!!

mfg x-gamer
 
Komische Frage, weil es einfach nur etwas Mathe ist.

Beispiel Text soll unten rechts:

Die Textbreite kann man ermitteln mit imagefontwidth.
Also ist die X-Postion = Breite von Bild - Textbreite - Abstand vom Rand (z.B. 10px);
Und Y-Postion = Höhe vom Bild - Höhe der Schrift - Abstand vom unteren Rand (auch z.B. 10px)

Wo ist jetzt da Problem ?


Die Textbreite kann man ermitteln mit imagefontwidth.

also:

(Bildbreite-Textbreite)/2 bei der x koordinate

Wie schonmal gesagt worden ist: Mathematik!
 
Zuletzt bearbeitet:
Hallo!

Bildbreite - Textbreite / 2 = Position von Links
Bildhöhe - Texthöhe / 2 = Position von Oben

Gruss Dr Dau
 
Zurück