Visualizzazione risultati 1 fino 7 di 7

Discussione: Immagini con librerie GD

  1. #1
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito Immagini con librerie GD

    Volevo sapere se è possibile creare un immagine da un insieme di immagini.
    Ad esempio ho un immagine CAMPO_CALCIO.GIF e su di questa vorrei incollare altre piccole immagini tipo MAGLIA_1.GIF, MAGLIA_2.GIF...ecc...
    è possibile?
    Chi troppo vuole....vuole LionAlex...

  2. #2
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

  3. #3
    Guest

    Predefinito

    Un esempio non fa male..
    Codice PHP:
    <?
    header
    ("Content-Type: image/gif");
    if (!
    extension_loaded('gd')) {
    dl('php_gd2.dll');
    }

    $campo=imagecreatefromgif("campo_calcio.gif");

    $maglia_1=imagecreatefromgif("maglia_1.gif");
    imagecopy($campo,$maglia_1,10,10,0,0,imagesx($maglia_1),imagesy($maglia_1);

    $maglia_2=imagecreatefromgif("maglia_2.gif");
    imagecopy($campo,$maglia_2,20,20,0,0,imagesx($maglia_2),imagesy($maglia_2);

    imagegif($campo);
    ?>
    - Invia al browser l'header che si tratta di un'immagine gif.
    - Se non è stata caricata la libreria GD caricala (non è obbligatorio ma io lo metto sempre per sicurezza).
    - Crea una nuova immagine da una gif ("campo_calcio.gif").
    - Crea l'immagine "maglia_1.gif" e copiala in $campo con le coordinate 10 e 10.
    - Crea l'immagine "maglia_2.gif" e copiala in $campio con le coordinate 20 e 20.
    - Manda in output l'immagine creata.

    Ciao!

  4. #4
    Guest

    Predefinito

    Con un ciclo for la cosa è più flessibile:

    Codice PHP:
    <?
    header
    ("Content-Type: image/gif");
    if (!
    extension_loaded('gd')) {
    dl('php_gd2.dll');
    }

    $campo=imagecreatefromgif("campo_calcio.gif");

    $numerodimaglie=2; //qui inserisci il numero di maglie che vuoi vengano visualizzate

    for($nmaglia=1;$nmaglia<=$numerodimaglie;$nmaglia++){
    $maglia[$nmaglia]=imagecreatefromgif("maglia_$nmaglia.gif");
    imagecopy($campo,$maglia[$nmaglia],$nmaglia*10,$nmaglia*10,0,0,imagesx($magl ia[$nmaglia]),imagesy($maglia[$nmaglia]);
    }

    imagegif($campo);
    ?>

  5. #5
    Guest

    Predefinito

    In questo modo però diventa un pò impossibile stabilire le coordinate per ogni maglia... come hai fatto tu la prima avrà coordinate 10-10 la seconda 20-20 la terza 30-30 e così via.. se invece volesse metterle "dove vuole" l'unico modo è scrivere le coordinate per ogni immagine...

    Ciao!

  6. #6
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    grazie mille per i suggerimenti....un ultima cosa, come faccio a copiare un immagine con lo sfondo trasparente??? Ho provato a copiarne una, ma mi mette il bianco al posto del colore trasparente...
    Chi troppo vuole....vuole LionAlex...

  7. #7
    Guest

    Predefinito

    Prova ad aggiungere per ogni maglia
    Codice PHP:
    imagecolortransparent($maglia_1,imagecolorallocate($maglia_1,255,255,255));
    Ciao!

Regole di scrittura

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