Visualizzazione risultati 1 fino 1 di 1

Discussione: Immagine dinamica problema testo

  1. #1
    Guest

    Question Immagine dinamica tramite form problema testo

    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">&nbsp;</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.
    Ultima modifica di otni : 25-11-2013 alle ore 23.30.50

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •