vorrei fare uno script che legge una immagine jpg ne abbassa la qualità e la salva (con le gd 2) ma mi sto incasinando qualcuno mi sa aiutare?
thanks
vorrei fare uno script che legge una immagine jpg ne abbassa la qualità e la salva (con le gd 2) ma mi sto incasinando qualcuno mi sa aiutare?
thanks
se fossi più preciso...
comunque qui trovi un articolo che spiega bene come usare le gd per fare delle thumbnail, dovresti avere tutto ciò che ti serve..
ciao
La procedura che devi serguire è questa se non sbaglio o dimentico qualcosa:
inizializzi imagecreatetruecolor() che servirà a contenere la nuova immagine, salvando il risultato dentro a $var1
apri l'immagine con la funzione imagecreatefromjpeg(), salvandola dentro $var2
copi l'intera immagine originale con la funzione imagecopyresampled() passando come primo parametro $var1 e come secondo parametro $var2
infine crei la nuova jpg con la funzione imagejpeg(), passando come primo parametro sempre $var1, il nome del file come secondo parametro e infine un terzo parametro che specifica la qualità del file. Il valore può andare da 0 (pessima qualità) a 100 (massima qualità).
Volendo puoi liberare memoria cancellando $var1 con la funzione imagedestroy()
Ovviamente dovrai specificare diversi parametri alle funzioni che ti ho citato; per conoscerli usa la documentazione su php.net: http://www.php.net/manual/it/ref.image.php
ho fatto così:
<?php
$nuova=imagecreatetruecolor() ;
$vecchia=imagecreatefromjpeg("./img/1.jpg") ;
imagecopyresampled($nuova, $vecchia) ;
imagejpeg($nuova, "./img/1.jpg", 10);
?>
però non và![]()
ecco ho fatto così:
<?php
$filename = './img/1.jpg';
list($width, $height) = getimagesize($filename);
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width, $height);
imagejpeg($image_p, "./img/1.jpg", 10);
?>
grazie per l'aiuto![]()