Probleme mit einem Imagestring

AndreG

Erfahrenes Mitglied
Tach zusammen,

Ich arbeite momentan an einer Grafischen Ausgabe in PHP. Jedoch ist ein Problem aufgetaucht. Es gibt leider keine Center-Function oder sowas in der Art. Jedoch würde ich gerne den Text den ich per:

PHP:
ImageString($img, $Schriftart, $text_x, $text_y, "$name", $farbe["text_1"]);

ausgebe, in die Mitte eine Rechtecks setzten. Kennt da einer ne Möglichkeit

:google: usw. haben mir leider bisher nicht weitergeholfen.

Mfg Andre
 
Ich hab mir vorhin auch mal kurz angeguckt wie man Text in ein Bild setzt und hab dafuer den Beispiel-Code von php.net genutzt.
Dort ist bereits Code drin der den Text horizontal mittig in das Bild setzt. Diesen hab ich nun etwas angepasst und folgendes ist dabei herausgekommen:
PHP:
<?php
header("Content-type:image/png");
$string='hallo da!';
$font=3;
$im=imagecreate(160,30);
$red=imagecolorallocate($im,255,0,0);
$blue=imagecolorallocate($im,0,0,255);
$px=(imagesx($im)-imagefontwidth($font)*strlen($string))/2;
$py=(imagesy($im)-imagefontheight($font))/2;
imagestring($im,$font,$px,$py,$string,$blue);
imagepng($im);
imagedestroy($im);
?>
Dies musst Du dann im Grunde nur etwas umschreiben sodass $px und $py sich nicht auf das Bild sondern auf das Rechteck beziehen.
 
Thx für deine Hilfe habs damit geschafft. Hier der Code:

PHP:
$rechteck_mitte = ($ende_rechteck_x - $start_rechteck_x)/2;

$temp = imagefontwidth($Schriftart) * (strlen($name_kp)/2);
$rechteck_mitte = $rechteck_mitte - $temp;

$rechteck_text_x = $start_rechteck_x + $rechteck_mitte; 
//Position des Text in dem Rechteck

Sprich man kann damit einen Text in die Mitte eines "dynamischen" Rechtecks schreiben.

Mfg Andre
 
Zurück