[supersaibal]
Originariamente inviato da daniele_dll
ehm, io te lo sconsiglio di usare le imagemagik...per i seguenti motivi:
1° essendo che devi richiamare un software esterno, ed in questo caso specifico le image magik, puoi avere problemi per quanto riguarda la velocità di esecuzione rispetto a come faresti l'operazione usando le GD
2° le imagemagik devono essere pre-installate, cosa che non è facile, dato che moltissimi hoster non le danno, abilitando, per l'appunto, le GD2
per il resize ho uno script tra gli snippet del mio forum, ma te lo riporto qui
codice:
<?php
function resize_image($img_res, $maxX, $maxY) {
$actualX=imagesx($img_res);
$actualY=imagesy($img_res);
if ($actualX>$maxX) {
$newX=$maxX;
$newY=($actualY/$actualX)*$newX;
} else {
$newY=$maxY;
$newX=($actualX/$actualY)*$newY;
}
$tmp_img_res = imagecreatetruecolor($newX, $newY);
$res = imagecopyresampled($tmp_img_res, $img_res, 0, 0, 0, 0, $newX, $newY, $actualX, $actualY);
return $tmp_img_res;
}
function save_image($img_res, $filename, $quality=80) {
imagejpeg($img_res, $filename, $quality);
}
function print_image($img_res, $quality=80) {
header('Content-Type: image/jpeg');
imagejpeg($img_res,NULL, $quality);
}
$img_res = imagecreatefromjpeg('./test.jpg');
$new_img_res = resize_image($img_res, 60, 80);
unset($img_res);
print_image($new_img_res, 100);
unset($new_img_res);
?>
ovviamente devi cambiare
$img_res = imagecreatefromjpeg('./test.jpg');
per far si che carichi le immagini da ridimensionare corretta, e devi anche cambiare la funzione in base al tipo di formato.
nel tuo caso devi usare save_image e non print_image dato che ti serve salvarla sul disco l'immagine, non tanto stamparla a video
se ti interessa qualcosa di molto più avanzato...
http://phpsoft.no-ip.info/private/imageresize.rar
Però è incompleto

nel senso che questo oltre al resize ti mette il watermark e dei bordi trasparenti dello spessore che vuoi tu, però il watermark è a posizionamento assoluto, non dinamico, quindi se lo vuoi posizionare ad es al centro dell'immagine o nell'angolo basso a destra avrai dei problemi (tranne se le immagini sono tutte uguali di dimensioni) se , però, lo vuoi mettere nell'angolo alto a sinistra, andrà benissimo cosi com'è
PS: questo file sta sul mio server di casa che è acceso solo di giorno, quindi se provi a scaricarlo stasera e non va...riprova domattina dopo le 9 che è al 99% acceso
sciauz [/supersaibal]