Visualizzazione risultati 1 fino 13 di 13

Discussione: Librerie GD

  1. #1
    maerco non è connesso Neofita
    Data registrazione
    17-02-2004
    Messaggi
    27

    Unhappy Librerie GD

    qualcuno a una vaga idea di come mai usando la funzione
    imagecopyresized()
    delle librerie GD, su alcune foto, mi scazza i colori e su altre no?

    ad esempio:


    qui funziona

    e qui no

    lo script è questo:
    $abc = imagecreatefromjpeg($filename);
    $w=$size[0]/6;
    $h=$size[1]/6;
    $def = imagecreate($w, $h);
    imagecopyresized($def, $abc, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);
    imagejpeg($def);
    ImageDestroy($abc);
    ImageDestroy($def);

    le immagini originali sono queste:
    la prima
    la seconda

    e sono dello stesso identico formato!

    la mia idea era quella di creare uno script per la crazione automatica dei thumbnails, per la crazione di un album fotografico

  2. #2
    Guest

    Predefinito

    Ciao
    Ho avuto qualche problema anch'io con la stessa istruzione...non so perchè.
    Sono riuscito a risolvere cambiando l'istruzione: invece di fare un resizing faccio un resampling ed ho notato un aumento di qualità notevole oltre a non vedere cambiamenti di colore.
    Prova anche tu cambiando le righe
    Codice PHP:
    $def = imagecreate($w, $h);
    imagecopyresized($def, $abc, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);
    con queste
    Codice PHP:
    $def = imagecreatetruecolor($w, $h);
    imagecopyresampled($def, $abc, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);
    Ciao

  3. #3
    maerco non è connesso Neofita
    Data registrazione
    17-02-2004
    Messaggi
    27

    Predefinito

    mi fa esattamente uguale :((

  4. #4
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Prova ad usare
    imagecreatetruecolor()
    al posto di imagecreate()
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  5. #5
    maerco non è connesso Neofita
    Data registrazione
    17-02-2004
    Messaggi
    27

    Predefinito

    me lo ha già consigliato intoinside, ma il risultato rimane lo stesso.
    Ultima modifica di maerco : 10-09-2004 alle ore 08.59.17

  6. #6
    Guest

    Predefinito

    secondo me il problema dovrebbe essere proprio
    imagecreate -> imagecreatetruecolor
    Sul mio sito qui su altervista ho proprio una gallery come intendi usare tu, e funziona alla perfezione. Ho provato nel codice a sostituire imagecreatetruecolor con imagecreate e il risultato sono appunto immagini con colori sballati.

    Perchè non posti il codice di 1.php e 2.php?

  7. #7
    maerco non è connesso Neofita
    Data registrazione
    17-02-2004
    Messaggi
    27

    Predefinito

    l'ho postato nel primo messaggio

  8. #8
    maerco non è connesso Neofita
    Data registrazione
    17-02-2004
    Messaggi
    27

    Predefinito

    i codici di 1 e di 2 sono identici, cambia solo la foto, probabilmente la seconda ha prevalenza di azzurro e le librerie hanno dei problemi

  9. #9
    Guest

    Predefinito

    Giusto per capirci...questo è lo script per fare la stessa cosa che uso io nel mio sito e funziona...
    Codice PHP:
    <?
    $file
    = $_GET["file"];
    $wsize = $_GET["maxWidth"];
    $hsize = $_GET["maxHeight"];

    $im_size = GetImageSize($file);
    $imageWidth = $im_size[0];
    $imageHeight = $im_size[1];
    $thumb_width = $wsize;
    $thumb_height = $hsize;
    $im2 = ImageCreateFromJPEG($file);

    if (
    $imageWidth>=$imageHeight) {
    $width = $thumb_width;
    $height = ($width/$imageWidth)*$imageHeight;
    } else {
    $height = $thumb_height;
    $width = ($height/$imageHeight)*$imageWidth;
    }
    $im = imageCreateTrueColor($width, $height);

    if (
    function_exists('ImageCopyResampled')) {
    ImageCopyResampled($im,$im2, 0, 0, 0, 0, $width, $height, $imageWidth, $imageHeight);
    } else {
    ImageCopyResized($im,$im2, 0, 0, 0, 0, $width, $height, $imageWidth, $imageHeight);
    }

    Header("Content-type: image/jpg");
    Imagejpeg($im, '', 85); //to print to screen
    ImageDestroy($im);
    ImageDestroy($im2);

    ?>
    Salvo questo codice in un file resize.php e poi quando devo creare una thumbnail, inserisco il codice seguente

    Codice PHP:
    echo "
    <img src=\"resize.php?file="
    .$path.$file."&maxHeight=$max_height_t&maxWidth=$max_width_t\" border=0> ";
    dove $max_height_t e $max_width_t sono altezza e larghezza immagine e $path.$file è la posizione dell'immagine da rimpicciolire.
    Ultima modifica di intoinside : 10-09-2004 alle ore 12.23.20

  10. #10
    maerco non è connesso Neofita
    Data registrazione
    17-02-2004
    Messaggi
    27

    Predefinito

    ok, adesso funziona meglio...
    grazie a tutti

  11. #11
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    PS
    Che versione abbiamo delle librerie GD?
    L'ultima?Quella che non piò gestire le gif?
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  12. #12
    maerco non è connesso Neofita
    Data registrazione
    17-02-2004
    Messaggi
    27

    Predefinito

    GD Version bundled (2.0.15 compatible)

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da binarysun
    PS
    Che versione abbiamo delle librerie GD?
    L'ultima?Quella che non piò gestire le gif?
    Infatti. Ti cito quello che compare sul sito php.net


    Nota: Since all GIF support was removed from the GD library in version 1.6, this function is not available if you are using that version of the GD library. Support is expected to return in a version subsequent to the rerelease of GIF support in the GD library in mid 2004. For more information, see the GD Project site.

Regole di scrittura

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