Ritagliare,ridimensionare e salvare immagini (tutto in uno) con PHP

Avete un sito pieno di immagini e volete che vengano create delle versioni ridotte e ritagliate in automatico?

Avete  un tema o un plugin che richiedono delle foto quadrate o di una specifica dimensione e non volete mettervi a modificarle tutte a mano?

Ecco il codice che fa per voi!

N.B. LE CARTELLE INDICATE (img e img/quadrate) DOVRANNO ESISTERE SUL SERVER PER FAR SI CHE FUNZIONI!

$nome_immagine="IMG_1234.jpg";
$cartella_immagine="img/";
$cartella_nuova_immagine="img/quadrate/";
$dst_x = 0;
$dst_y = 0;
$src_x = 200; // Pixel di partenza per taglio Orizzontalmente
$src_y = 200; // Pixel di partenza per taglio Verticalmente
$dst_w = 250; // Larghezza nuova Immagine
$dst_h = 250; // Altezza nuova Immagine
// Se l'immagine dovesse venire schiacciata aggiungere dei valori a queste due variabili (come da esempio)
$src_w = $src_x + $dst_w; // $src_x + $dst_w + numero (150 ad esempio)
$src_h = $src_y + $dst_h; // $src_y + $dst_h + numero (100 ad esempio)

$dst_image = imagecreatetruecolor($dst_w,$dst_h);
$src_image = imagecreatefromjpeg($cartella_immagine.$nome_immagine); // Immagine primaria
imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);
imagejpeg($dst_image,$cartella_nuova_immagine.$nome_immagine); // Posizione Nuova Immagine (e nome file)

Molto molto semplice. Mettete il nome dell’immagine e il percorso che volete, il resto lo farà lo script sottostante.

Potete anche aggiungere un dettaglio interessante. Eseguire il codice SOLO SE non esiste già un’immagine rimpicciolita.

Ve lo mostro mettendo il codice sopra in una semplice funzione che viene richiamata ad ogni immagine (nel nostro caso solo una):


$nome_immagine="IMG_1234.jpg";
$cartella_immagine="img/";

if(!file_exists('http://www.tuosito.it/'.$cartella_immagine.'quadrate/'.$nome_immagine)){
    taglia($nome_immagine,$cartella_immagine);</code><code>
}

function taglia($nome_immagine,$cartella_immagine){ 
    $cartella_nuova_immagine=$cartella_immagine.'quadrate/';
    $dst_x = 0; $dst_y = 0; $src_x = 200; // Pixel di partenza per taglio Orizzontalmente
    $src_y = 200; // Pixel di partenza per taglio Verticalmente $dst_w = 250; // Larghezza nuova Immagine
    $dst_h = 250; // Altezza nuova Immagine

    // Se l'immagine dovesse venire schiacciata aggiungere dei valori a queste due variabili (come da esempio)
    $src_w = $src_x + $dst_w; // $src_x + $dst_w + numero (150 ad esempio)
    $src_h = $src_y + $dst_h; // $src_y + $dst_h + numero (100 ad esempio)

    $dst_image = imagecreatetruecolor($dst_w,$dst_h);
    $src_image = imagecreatefromjpeg($cartella_immagine.$nome_immagine); // Immagine primaria
    imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);
    imagejpeg($dst_image,$cartella_nuova_immagine.$nome_immagine); // Posizione Nuova Immagine (e nome file)
} 

Semplice e funzionale! Controlla che il file esista, in caso contrario la crea.

La funzione è basilare e presuppone che vogliate mettere le nuove immagini nella sottocartella “quadrate” della cartella “img”. Ovviamente modificatevi il codice a vostro piacimento ma mi raccomando fate prima i backup! Non mi ritengo responsabile per l’uso non corretto del codice e quindi di una possibile perdita di dati!!

Buono stagliuzzamento!

Annunci

, , , , , , , , , , , , ,

  1. Lascia un commento

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: