Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da daniele_dll
    è normalissimo, non sono le gd a fare casino

    e tra i vari motivi quello più importante è che tu salvi il tutto in JPEG e le JPEG non supportano la trasparenza

    se uso imagegif() imagepng() e ImageJPEG a seconda del tipo di file risolvo la cosa? Quali sono le altre cose?

  2. #12
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    questo codice funziona:
    codice:
    $nomefile="prova.gif";
    $fp=fopen($nomefile,"rb");
    $data = addslashes(fread($fp, filesize($nomefile)));
    $dimensioni=getimagesize($nomefile);
    $img=imagecreatefromgif($nomefile);
    $colorTransparent = imagecolortransparent($img);
    $im=Imagecreate(300,300);
    imagepalettecopy($im,$img);
    imagefill($im,0,0,$colorTransparent);
    imagecolortransparent($im, $colorTransparent);
    $altezza=ceil($dimensioni[1] / $dimensioni[0]*100);
    imagecopyresampled($im,$img, 0,0,0,0,100, $altezza, $dimensioni[0],$dimensioni[1]);
    header("Content-type: image/gif");
    imagegif($im);
    imagedestroy($im);

    think simple think ringo

  3. #13
    Originariamente inviato da james
    che cretino! c'è un modo per salvare in gif anzichè jpeg?
    www.php.net/imagegif

    ma non è più attivo perché il formato GIF è coperto da copyright

    puoi però usare il formato PNG, ma devi impostare il colore di sfondo

    ovvero prima di ridimensionare lo leggi e dopo il resize lo reimposti e poi salvi la png

    per salvarlo e leggerlo devi usare il comando del post subito dopo il mio (quello di marketto)

    in pratica devi...

    - leggere l'immagine
    - creare una nuova immagine con le dimensioni di destinazione
    - leggere il colore della trasparenza
    - riempire di questo colore l'immagine di destinazione (imagefill)
    - impostare il colore della trasparenza
    - fare il resize

    e poi salvi come PNG

    cmq tieni conto che cacca internet exploder non supporta bene la trasparenza delle png :\

    per risolvere il problema su ie devi usare questo:
    http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  4. #14
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    se devi catturare l'output ridimensionato senza dover salvare l'immagine sul disco puoi usare questo codice:

    codice:
    ob_start();
    imagegif($im);
    $temp=ob_get_contents();
    ob_end_clean();
    imagedestroy($im);

    think simple think ringo

  5. #15
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    grazie marketto e daniele_dll, siete stati come al solito molto esaurienti. Prima di rompere nuovamente le scatole cercherò di vedere come funzionano tutte le funzioni che mi avete citato, provo a lavorarci sopra e se ho delle rogne che non riesco a sbrigare da solo scriverò in coda a questo thread.

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.