Visualizzazione risultati 1 fino 4 di 4

Discussione: codice per le foto -> figurine

  1. #1
    L'avatar di lucillo
    lucillo non è connesso Utente storico
    Data registrazione
    06-11-2003
    Messaggi
    2,017

    Predefinito codice per le foto -> figurine

    Codice PHP:
    <?php


    //settaggio dimensione bordi
    $h1=10;
    $h2=30;
    //settaggio dimensioni immagine
    //(serve per impostare i bordi...)
    $nickname="a1";
    list(
    $w, $h) = getimagesize($nickname.".gif");

    //caricamento immagine jpg per la figurina
    $imgname=$nickname.".gif";
    $im = imagecreatefromgif ($imgname);

    if (!
    $im) { /* See if it failed */
    $im = imagecreate ($h, $w); /* Create a blank image */
    $bgc = imagecolorallocate ($im, 255, 255, 255);
    $tc = imagecolorallocate ($im, 0, 0, 0);
    imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);
    /* Output an errmsg */
    imagestring ($im, 1, 5, 5, "Error loading $imgname", $tc);
    }

    // some colors
    $blue = imagecolorallocate($im, 0, 0, 255);
    $white = imagecolorallocate($im, 255, 255, 255);
    $black = imagecolorallocate($im, 0, 0, 0);


    // disegno dei bordi
    //bordo verticale sx
    imagefilledrectangle($im,0,0,$h1,$h,$white );
    //bordo orizzontale sopra
    imagefilledrectangle($im,0,0,$w,$h2,$white );
    //bordo verticale dx
    imagefilledrectangle($im,($w-$h1),0,$w,$h,$white );
    //bordo orizzontale sotto
    imagefilledrectangle($im,0,($h-$h2),$w,$h,$white );
    //disegno ombreggiatura interna bordi
    imagefilledrectangle($im,$h1,$h2,$h1,($h-$h2),$black );
    imagefilledrectangle($im,$h1,$h2,($w-$h1),$h2,$black );
    //imagegif("logoav.gif");


    // flush image
    header('Content-type: image/gif');
    imagegif($im);
    imagedestroy($im);

    ?>
    appena ho due minuti mi invento come inserire i supporti per nickname e rango...
    Ultima modifica di lucillo : 04-12-2004 alle ore 21.04.39


    l'acqua è pei perversi e il diluvio lo provò

    Detentore del record del topic piu lungo e letto della storia di av!!!!
    ll topic 56620!!

  2. #2
    L'avatar di lucillo
    lucillo non è connesso Utente storico
    Data registrazione
    06-11-2003
    Messaggi
    2,017

    Predefinito

    ecco il codice completo..
    basta settare le variabili all'inizio

    N.B.
    nickname coincide anche con il nome dell'immagine che deve essere nella stessa cartella dove risiede lo script

    Codice PHP:
    <?php
    $nickname
    ="a1";
    $rango="Alterguru";

    //settaggio dimensione bordi
    $h1=10;
    $h2=30;
    //settaggio dimensioni immagine
    //(serve per impostare i bordi...)

    list($w, $h) = getimagesize($nickname.".gif");

    //caricamento immagine jpg per la figurina
    $imgname=$nickname.".gif";
    $im = imagecreatefromgif ($imgname);

    if (!
    $im) { /* See if it failed */
    $im = imagecreate ($h, $w); /* Create a blank image */
    $bgc = imagecolorallocate ($im, 255, 255, 255);
    $tc = imagecolorallocate ($im, 0, 0, 0);
    imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);
    /* Output an errmsg */
    imagestring ($im, 1, 5, 5, "Error loading $imgname", $tc);
    }

    // some colors
    $blue = imagecolorallocate($im, 0, 0, 255);
    $white = imagecolorallocate($im, 255, 255, 255);
    $black = imagecolorallocate($im, 0, 0, 0);
    $bluav = imagecolorallocate($im, 0x00, 0x00, 0x80);
    $gialloav1 = imagecolorallocate($im, 0xDC, 0xDC, 0x00);
    $gialloav2 = imagecolorallocate($im, 0x80, 0x80, 0x00);


    // disegno dei bordi
    //bordo verticale sx
    imagefilledrectangle($im,0,0,$h1,$h,$white );
    //bordo orizzontale sopra
    imagefilledrectangle($im,0,0,$w,$h2,$white );
    //bordo verticale dx
    imagefilledrectangle($im,($w-$h1),0,$w,$h,$white );
    //bordo orizzontale sotto
    imagefilledrectangle($im,0,($h-$h2),$w,$h,$white );
    //disegno ombreggiatura interna bordi
    imagefilledrectangle($im,$h1,$h2,$h1,($h-$h2),$black );
    imagefilledrectangle($im,$h1,$h2,($w-$h1),$h2,$black );
    //disegno dello spazio per il rango
    imagefilledrectangle($im,0,($h-($h2+20)),($w-($h1+10)),($h-($h2+5)),$white );
    //disegno dello spazio per il nome
    imagefilledrectangle($im,($h1+10),($h-($h2+40)),$w,($h-($h2+25)),$white );
    //disegno delle ombre su spazio per nome
    imageline($im, ($h1+10), ($h-($h2+25)),($w-$h1),($h-($h2+25)), $black);
    //disegno delle ombre su spazio per grado
    imageline($im, ($w-($h1+10)), ($h-($h2+20)),($w-($h1+10)),($h-($h2+5)), $black);
    imageline($im,$h1,($h-($h2+5)),($w-($h1+10)),($h-($h2+5)),$black );
    //disegno del logo di altervista
    // disegno della base del logo
    imagefilledrectangle($im,($h1+7),($h-($h2+26)),($h1+7+14),($h-($h2+11)),$bluav);
    //disegno parti con colore gialloav1
    imagefilledrectangle($im,($h1+7+2),($h-($h2+(26-2))),($h1+7+6),($h-($h2+(26-4))),$gialloav1);
    imagefilledrectangle($im,($h1+7+7),($h-($h2+(26-2))),($h1+7+7),($h-($h2+(26-2))),$gialloav1);
    imagefilledrectangle($im,($h1+7+6),($h-($h2+(26-4))),($h1+7+6),($h-($h2+(26-7))),$gialloav1);
    imagefilledrectangle($im,($h1+7+10),($h-($h2+(26-2))),($h1+7+11),($h-($h2+(26-12))),$gialloav1);
    imagefilledrectangle($im,($h1+7+9),($h-($h2+(26-6))),($h1+7+9),($h-($h2+(26-12))),$gialloav1);
    imagefilledrectangle($im,($h1+7+2),($h-($h2+(26-8))),($h1+7+4),($h-($h2+(26-12))),$gialloav1);
    imagefilledrectangle($im,($h1+7+5),($h-($h2+(26-11))),($h1+7+5),($h-($h2+(26-12))),$gialloav1);
    imagefilledrectangle($im,($h1+7+6),($h-($h2+(26-12))),($h1+7+8),($h-($h2+(26-12))),$gialloav1);
    //parti in gialloav2
    imagefilledrectangle($im,($h1+7+2),($h-($h2+(26-13))),($h1+7+12),($h-($h2+(26-13))),$gialloav2);
    imagefilledrectangle($im,($h1+7+7),($h-($h2+(26-3))),($h1+7+7),($h-($h2+(26-6))),$gialloav2);
    imagefilledrectangle($im,($h1+7+6),($h-($h2+(26-8))),($h1+7+6),($h-($h2+(26-8))),$gialloav2);
    imagefilledrectangle($im,($h1+7+12),($h-($h2+(26-2))),($h1+7+12),($h-($h2+(26-13))),$gialloav2);
    //scrittura nome
    imagestring($im, 8,($h1+50),($h-($h2+40)), $nickname, $bluav);
    //scrittura rango
    //$rango="Alterguru";
    imagestring($im, 8,($h1+30),($h-($h2+21)), $rango, $bluav);
    // flush image
    header('Content-type: image/gif');
    imagegif($im);
    imagedestroy($im);

    ?>


    si consiglia di effettuare il test in locale e successivamente creare una pagina html come segue:

    Codice HTML:
     <body bgcolor="000000">
     <img src='script.php'>
     </body>

    ... con sfondo nero rende milioni di volte meglio

    comunque funziona, collaudato!!


    l'acqua è pei perversi e il diluvio lo provò

    Detentore del record del topic piu lungo e letto della storia di av!!!!
    ll topic 56620!!

  3. #3
    L'avatar di lucillo
    lucillo non è connesso Utente storico
    Data registrazione
    06-11-2003
    Messaggi
    2,017

    Predefinito

    ...dimenticavo...

    http://forum.altervista.org/showthre...690#post236690


    qui vedete lo screen di come risulta ^^


    l'acqua è pei perversi e il diluvio lo provò

    Detentore del record del topic piu lungo e letto della storia di av!!!!
    ll topic 56620!!

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Inserisco -su richiesta- anche il codice del mio script per le figurine:

    file: fig.php
    richiede: font true type "casual.ttf", GD + FreeType
    Codice PHP:
    <?php

    $fnt
    = "casual.ttf";
    $username = $_GET['usr'];
    $rank = $_GET['rnk'];
    $imw = 200;
    $imh = 260;
    $showmask = ($_GET['msk'] != 1);
    $masks = array('img/spacemask.gif', 'img/playmask.gif');
    $mski = (!isset($_GET['mtp']))? 0 : $_GET['mtp'];
    $maskpath = $masks[$mski];
    $photopath = $_GET['pho'];

    $im = imagecreatetruecolor($imw, $imh) or die("Error creating image!");
    $text1col = imagecolorallocate($im, 255, 255, 0);
    $text2col = imagecolorallocate($im, 255, 128, 0);
    $bordercol = imagecolorallocate($im, 0, 0, 0);

    $xsrc = @imagecreatefromjpeg($photopath);
    if (
    $xsrc){
    $xw = imagesx($xsrc);
    $xh = imagesy($xsrc);
    if (
    $xw>$xh){
    $xh1 = $imh;
    $xw1 = $xw * ($xh1/$xh);
    $xx = -(($xw1-$imw)/2);
    $yy = 0;
    }else{
    $xw1 = $imw;
    $xh1 = $xh * ($xw1/$xw);
    $xx = 0;
    $yy = -(($xh1-$imh)/2);
    }
    imagecopyresampled($im, $xsrc, $xx,$yy, 0,0, $xw1, $xh1, $xw, $xh);
    imagedestroy($xsrc);
    }

    if (
    $showmask){
    $xsrc = @imagecreatefromgif($maskpath);
    if (
    $xsrc){
    $xw = imagesx($xsrc);
    $xh = imagesy($xsrc);
    imagecopymerge($im, $xsrc, 0,0, 0,0, $xw, $xh, 75);
    imagedestroy($xsrc);
    }
    }

    $oxs = array(-1, 0, 1, 1, 1, 0, -1, -1);
    $oys = array(-1, -1, -1, 0, 1, 1, 1, 0);
    $stx = 70;
    $sty = $imh-20;
    for (
    $i=0; $i<8; $i++){
    imagettftext($im, 11, 10, $stx+$oxs[$i], $sty+$oys[$i], $bordercol, $fnt, $username);
    }
    imagettftext($im, 11, 10, $stx, $sty, $text1col, $fnt, $username);

    $stx = 80;
    $sty = $imh-5;
    for (
    $i=0; $i<8; $i++){
    imagettftext($im, 8, 10, $stx+$oxs[$i], $sty+$oys[$i], $bordercol, $fnt, $rank);
    }
    imagettftext($im, 8, 10, $stx, $sty, $text2col, $fnt, $rank);

    header("Content-type: image/jpeg");
    imagejpeg($im);
    imagedestroy($im);
    ?>
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

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