Salve a tutti quanti ragazzi stò realizando uno script che tramite un campo form mi generi un badge in stile apple con all'interno un testo personale vorrei però che una volta generato il badge con il testo esso si posizioni al centro del badge (e per questo credo di esserci riuscito) però in caso il testo scelto sia troppo lungo vorrei fare in modo che non esca dai margini e che magari esso si auto-ridimensiona per appunto entrare dentro i margini.
Codice del form:
Codice:
<form method="get" action="badge.php">
<div align="center">
<table width="363" background="......" height="380">
<tbody>
<tr>
<td width="357" height="188"> </td>
</tr>
<tr>
<td width="357" height="188">
<p align="center">
<input type="testo" value="inserisci qui il testo" name="testo" maxlength="50" style="background: #fcfcfc; border: 0 none; font-size: 16px; height: 31px; width: 190px;overflow: hidden; margin-top:-14px; text-align:center;"></td>
</tr>
</tbody>
</table></div>
<p align="center"> <input type="submit" value="Crea il tuo Sfondo" class="mybadge">
</p>
<p></p></form>
Codice php che genera il badge con il testo:
Codice:
<?php
$text=$_GET['testo'];
$larghezza = 630;
$altezza = 1436;
$font = 'font/arialbd.ttf';
$dimensione_text = 50;
$angolazione_text = 0;
$immagine = imagecreatefromjpeg("badge.jpg");
$box_text = imagettfbbox($dimensione_text, $angolazione_text, $font, $text);
$x_off_text = ($larghezza/2) - ($box_text[4] / 2);
$y_off_text = ($altezza/2) - ($box_text[5] / 2);
$sfondo = imagecolorallocatealpha($immagine, 0xFF, 0, 0, 0);
$bianco = imagecolorallocatealpha($immagine, 55, 55, 57, 0);
$nero = imagecolorallocatealpha($immagine, 235, 235, 235, 30);
imagefill($immagine, 0, 0, $sfondo);
imagesavealpha($immagine, TRUE);
imagettftext($immagine, $dimensione_text, $angolazione_text, $x_off_text, $y_off_text+3, $nero, $font, $text);
imagettftext($immagine, $dimensione_text, $angolazione_text, $x_off_text, $y_off_text, $bianco, $font, $text);
header('Content-type: image/png');
imagepng($immagine);
imagedestroy($immagine);
?>
Immagine:
Come posso fare? allo stato attuale il testo del badge viene centrato ma se supero i 10 caratteri esso pur essendo centrato esce fuori.