• User Newbie

    thumbnail e watermark di foto esistenti

    Ciao,
    ho poca esperienza di php e nessuna delle librerie gd e spero di trovare aiuto.
    Gestisco un sito di annunci utizzando uno script (non mio) che salva le foto creando (se non esiste) una cartella per ogni mese/anno e scrivendo nel database l'indirizzo della cartella e nome file (ad esempio 092007/29095055-686.jpg ma anche altri formati di file) con un nome campo da pic1 a pic 40.

    Attualmento ho più di 10000 iscritti, quasi tutti con foto.

    Ora vorrei realizzare una funzione che realizzi su ogni foto passata:

    • se non è stata fatta la marchiatura con il nome del sito
      ne controlli le dimensioni e se siano superiori a diciamo 600 pixel di larghezza la ridimensioni senza perdere le proporzioni
    • salvi il nuovo file in formato jpeg con compressione da decidere nella stessa cartella
    • realizzi la miniatura in 105 pixel di altezza per 90 di larghezza salvando in tutto in jpeg con compressione da decidere

    Da dove si comincia????


  • User

    ciao mariog75 per il ridimenzionamento delle immagini basta calcolarti un lato della immagine in base ad un'altro lato impostato da te.

    [php]
    // mi ricavo le dimenzioni della immagine inizialmente
    list($width, $height, $type, $attr) = getimagesize($cartella.$name_file);

    //calcolo le nueve dimenzioni

    $y=105;
    $x = $width * $y / $height;

    //e cosi ti calcoli l'altro lato della immagine che sarebbe in questo caso $x.

    $thumb = imagecreatetruecolor(150,90); //Ritagli la immagine secondo la grandezza desiderata

    $source = imagecreatefromjpeg($cartella.$name_file);
    imagecopyresized($thumb, $source, 0, 0, 0, 0, $x, $y, $width, $height);

    imagejpeg($thumb, $cartella.$name_file, 75);//la compressione della immagine in questo caso è 75

    imagedestroy($thumb);//libero la memoria[/php]
    Queste sono tutte le funzioni che ti servono per fare quel lavoro adesso tocca a te sistemarle secondo quel che devi fare!!.


  • User

    Salve ho usato lo script ma mi da il seguente errore

    Warning: imagejpeg() Unable to open ______/immagini/dir_12/100_1xxxp.jpg' for writing: No such file or directory

    Tenete conto che ho abilitato i permessi di dir_12 in scrittura

    Ciao Piero