Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente bannato
    Registrato dal
    May 2006
    Messaggi
    160

    [pillola] Creare targhette con le GD

    Premettendo che questa è la mia prima pillola, come diceva un uomo inteligentissimo: chi è senza peccato scagli la prima pietra . Comunque, fò il serio, scrivo questa piccola pillola che rispetto alla guida proposta in http://php.html.it è molto più piccola e forse più facie da comprendere per i neofiti Oggi, cari ragazzi, vi illustrerò come creare in modo automatico delle scritte su di una immagine partendo da una di base. Il codice essenziale (sfruttando le librerie GD) è questo:

    Codice PHP:
    <?php

    if(isset($_POST['text'])) 
        
    $text $_POST['text'];
    else
        
    $text "";

    if(!isset(
    $_POST['count']))
        
    $count=1;
    else
        
    $count $_POST['count'];

    if(
    $text == "reset")
        
    $count=1;
    else {    
        
    $image ImageCreateFromJPEG("graphics/button.jpg");
        
    $blue ImageColorAllocate($image,0,0,255);
        
    $width ImageFontWidth(4) * strlen($text);
        
    $x = (200 $width)/2;
        
    ImageString($image,4,$x,15,$text$blue);
        
    $name "graphics/button" $count ".png";
        
    ImagePNG($image$name);
        
    ImageDestroy($image);
    }
    echo(
    "<form method='post' action='" $_SERVER['PHP_SELF'] . "'>");
    echo(
    "Inserisci il testo: <input type='text' name='text'>");
    echo(
    "<input type='hidden' name='count' value='" . ++$count "'>");
    echo(
    "<input type='submit'>");
    echo(
    "</form>");
    for(
    $a=2;$a<$count;$a++)
        echo(
    "[img]graphics/button" $a ".png[/img]");
    ?>
    Non l'ho appositamente commentato perchè ora vedremo piano piano le funzioni di ogni pezzo di codice Le prime quattro righe controllano il valore del testo che utilizzate per memorizzare il testo del pulsante:

    Codice PHP:
    if(isset($_POST['text']))
                  
    $text $_POST['text'];
    else
          
    $text " "
    Dopo di chè, verifichiamo se la variabile $count esiste mentre se non esiste la impostiamo a 1, essa viene utilizzata per memorizzare la quantità di pulsanti creati:

    Codice PHP:
    if(!isset($_POST['count']))
        
    $count=1;
    else
        
    $count $_POST['count']; 
    Andando avanti, vediamo come lo script controlli se il valore $text è pari a "reset". La variabile $text serve per contenere il testo inserito tramite il modulo e per creare la parte di testo che viene inserito sulla targhetta. Se l'utente scrive "reset" il numero di pulsanti creati viene riportato a 1, il che ci consente di ricominciare:

    Codice PHP:
    if($text == "reset")
        
    $count=1;
    else { 
    Se invece il valore della variabile $text è diverso da "reset", l'immagine della targhetta viene creata:

    Codice PHP:
        $image ImageCreateFromJPEG("graphics/button.jpg");
        
    $blue ImageColorAllocate($image,0,0,255);
        
    $width ImageFontWidth(4) * strlen($text);
        
    $x = (200 $width)/2;
        
    ImageString($image,4,$x,15,$text$blue);
        
    $name "graphics/button" $count ".png";
        
    ImagePNG($image$name);
        
    ImageDestroy($image); 
    Ora, viene stampato sullo schermo il modulo per l'imput del testo:

    Codice PHP:
    echo("<form method='post' action='" $_SERVER['PHP_SELF'] . "'>");
    echo(
    "Inserisci il testo: <input type='text' name='text'>");
    echo(
    "<input type='hidden' name='count' value='" . ++$count "'>");
    echo(
    "<input type='submit'>");
    echo(
    "</form>"); 
    E per finire lo script usa un semplice ciclo for per visualizzare le targhette create:

    Codice PHP:
    for($a=2;$a<$count;$a++)
        echo(
    "[img]graphics/button" $a ".png[/img]"); 
    Ohh.. e lo script è bello e finito, molto semplice e di immediato uso, oggi viene usato su parecchi siti per creare automaticamente quelle targhette del tipo GMAIL, HOTMAIL e dopo aver apportato una sostanziale modifica al core dello script, è stato anche utilizzato per quel famoso MSN Status Indicator. Proprio per questo mi è venuto in mente di spiegare (in linea di massima) come sia possibile creare targhette di quel tipo. Tutto qua magari se non mi ammazzate che la settimana prossima devo andare a un matrimonio è

  2. #2
    Utente bannato
    Registrato dal
    May 2006
    Messaggi
    160
    UP
    dai 7 minuti ho resistito

  3. #3
    Utente bannato
    Registrato dal
    May 2006
    Messaggi
    160
    :master:

  4. #4
    Utente bannato
    Registrato dal
    May 2006
    Messaggi
    160

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.