ciao a tutti ho un problemino con uno script di resize (quello con upload, tratto da una bella pillola di questo forum) da me opportunamente (spero) modificato. ecco lo script:
function SaveProportionateImage($filename, $quality, $height){
$dest_height = $height;
$ratio = $this->src_height / $dest_height;
$dest_image = imagecreatetruecolor( $this->src_width / $ratio,$dest_height);
imagecopyresampled($dest_image, $this->src_image, 0, 0, 0, 0,
$this->src_width / $ratio,
$this->src_height / $ratio,
$this->src_width,
$this->src_height);
imagejpeg($dest_image, $filename, $quality);
imagedestroy($dest_image);
}
function SaveProportionateImage1($filename, $quality, $width){
$dest_width = $width;
$ratio = $this->src_width / $dest_width;
$dest_height = $this->src_height / $ratio;
$dest_image = imagecreatetruecolor( $dest_width, $dest_height);
imagecopyresampled($dest_image, $this->src_image, 0, 0, 0, 0, $dest_width, $dest_height, $this->src_width, $this->src_height);
imagejpeg($dest_image, $filename, $quality);
imagedestroy($dest_image);
}
questo è la classe image dove non ho fatto altro che sostituire l'altezza con la larghezza.
poi in upload_2.php ho messo:
if($result){
if ( $width > $height ) {
$img->SaveProportionateImage1(IMAGE_DIR . '/' . $up->filename, IMAGE_QUALITY, IMAGE_WIDTH);
//salvo l'immagine con altezza 75 lasciandola proporzionata
$img->SaveProportionateImage1(THUMB_DIR . '/' . $up->filename, THUMB_QUALITY, THUMB_WIDTH);
} else {
//salvo l'immagine con altezza 400 lasciandola proporzionata
$img->SaveProportionateImage(IMAGE_DIR . '/' . $up->filename, IMAGE_QUALITY, IMAGE_HEIGHT);
//salvo l'immagine con altezza 75 lasciandola proporzionata
$img->SaveProportionateImage(THUMB_DIR . '/' . $up->filename, THUMB_QUALITY, THUMB_HEIGHT);
//libero la memoria cancellando l'immagine sorgente
$img->Free();
}
inpoche parole se la larghezza supera l'altezza usa una funzione altrimenti usa l'altra....
generalmente funziona sempre ma ogni tanto mantintiene le proporzioni ma fa le immagini più grandi del dovuto!!!!!
generalmente lo fa con le immagini in base alla larghezza!!!
qualcuno potrebbe aiutarmi per una soluzione???
grazie
![]()