$y)||($Fissa=="L")){ $max = $x; $min = $y; } else if(($x <= $y)||($Fissa=="A")){ $max = $y; $min = $x; } $rate = $max/$Lato; $final_x = $x/$rate; $final_y = $y/$rate; $final_x = ceil($final_x); $final_y = ceil($final_y); $black_picture = imagecreatetruecolor($final_x,$final_y); $trnprt_indx = imagecolortransparent($Pict); $trnprt_color = imagecolorsforindex($Pict, $trnprt_indx); $trnprt_indx = imagecolorallocate($black_picture, $trnprt_color['red'], $trnprt_color['green'], $trnprt_color['blue']); imagefill($black_picture, 0, 0, $trnprt_indx); imagecolortransparent($black_picture, $trnprt_indx); //imagefill($black_picture,0,0,imagecolorallocate($black_picture, 255, 255, 255)); imagecopyresampled($black_picture, $Pict, 0, 0, 0, 0,$final_x, $final_y, $x, $y); //imagecopyresampled($image_resized, $image, 0, 0, 0, 0, $final_width, $final_height, $width_old, $height_old); return $black_picture; imagedestroy($Pict); } function Ridimensiona($Pict,$Lato=640,$Fissa=""){ $x=imagesx($Pict); $y=imagesy($Pict); if(($x > $y)||($Fissa=="L")){ $max = $x; $min = $y; } else if(($x <= $y)||($Fissa=="A")){ $max = $y; $min = $x; } $rate = $max/$Lato; $final_x = $x/$rate; $final_y = $y/$rate; $final_x = ceil($final_x); $final_y = ceil($final_y); $black_picture = imagecreatetruecolor($final_x,$final_y); imagefill($black_picture,0,0,imagecolorallocate($black_picture, 255, 255, 255)); imagecopyresampled($black_picture, $Pict, 0, 0, 0, 0,$final_x, $final_y, $x, $y); return $black_picture; imagedestroy($Pict); } if($Qualita=="")$Qualita=80; $Forma="vergine"; //$Forma="forza_proporzioni"; $ForzaSalvataggio=true; if($Folder!="")$Folder.='/'; $Img='immagini/'.$Folder.$IDImg.'.jpg'; if($Forma!="vergine"){ $ImgSorgente=imagecreatefromjpeg($Img); } switch($Forma){ case "forza_proporzioni": $x=imagesx($ImgSorgente); $y=imagesy($ImgSorgente); $ProporzioneFinale=$W/$H; $ProporzioneAttuale=$x/$y; $STR.= "W=".$W."
"; $STR.= "H=".$H."
"; $STR.= "x=".$x."
"; $STR.= "y=".$y."
"; $STR.= "attuale ProporzioneFinale W/H=".$ProporzioneFinale."
"; $STR.= "attuale ProporzioneAttuale x/y=".$ProporzioneAttuale."
"; $STR.= $ProporzioneFinale." ".$ProporzioneAttuale."
"; /* if($ProporzioneFinale>$ProporzioneAttuale){ $STR.= "ho preso come intero la larghezza, che è: ".$larghezza."
"; $larghezza = $W; $altezza = ceil($x/$ProporzioneFinale); $PartenzaFillX=0; $PartenzaFillY=ceil(($y-$altezza)/2); }else{ $altezza = $H; $STR.= "ho preso come intero l'altezza, che è: ".$altezza."
"; $larghezza = ceil($y*$ProporzioneFinale); $PartenzaFillY=0; $PartenzaFillX=ceil(($x-$larghezza)/2); } */ $NewRatio=$W/$H; $FattoreMoltiplicativoX=$W/$x; $FattoreMoltiplicativoY=$H/$y; $STR.= "fattore moltiplicativo X=".$FattoreMoltiplicativoX."
"; $STR.= "fattore moltiplicativo Y=".$FattoreMoltiplicativoY."
"; if($FattoreMoltiplicativoX>$FattoreMoltiplicativoY){ $STR.= "FattoreMoltiplicativoX > FattoreMoltiplicativoY.
"; $larghezza = $x; $altezza=$x/$NewRatio; $PartenzaFillX=0; $PartenzaFillY=($y-$altezza)/2; }else{ $STR.= "FattoreMoltiplicativoY > FattoreMoltiplicativoX.
"; $altezza = $y; $larghezza=$y*$NewRatio; //$PartenzaFillX=ceil(($x-$y)/2); //$PartenzaFillY=0; $PartenzaFillY=0; $PartenzaFillX=($x-$larghezza)/2; } /* if($YVecchioRatio<$H){ $STR.= "devo tagliare la larghezza in quanto è da prendere come valore fisso l'altezza.
"; $altezza = $H; $larghezza=$x*($H/$y); }else{ $larghezza = $W; $altezza=$YVecchioRatio; } */ $STR.= "larghezza: ".$larghezza."
altezzza: ".$altezza."
"; $STR.= "partenza X:".$PartenzaFillX."
partenza Y:".$PartenzaFillY."
"; $STR.= "nuova proporzione: ".($larghezza/$altezza)."
"; if(0){ echo $STR; die(); } $ImmagineR = imagecreatetruecolor($larghezza,$altezza); imagefill($ImmagineR,0,0,imagecolorallocate($ImmagineR, 255, 255, 255)); imagecopy ($ImmagineR, $ImgSorgente,0,0, $PartenzaFillX, $PartenzaFillY,$larghezza, $altezza); $NuovaRidimensionata = imagecreatetruecolor($W,$H); imagefill($NuovaRidimensionata,0,0,imagecolorallocate($NuovaRidimensionata, 255, 255, 255)); imagecopyresampled($NuovaRidimensionata, $ImmagineR, 0, 0, 0, 0,$W, $H, $larghezza, $altezza); $Immagine=$NuovaRidimensionata; break; case "quadrata": $x=imagesx($ImgSorgente); $y=imagesy($ImgSorgente); if($x > $y){ $min = $y; $PartenzaFillX=ceil(($x-$y)/2); $PartenzaFillY=0; } else{ $min = $x; $PartenzaFillX=0; $PartenzaFillY=ceil(($y-$x)/2); } $ImmagineQuadrata = imagecreatetruecolor($min,$min); imagefill($ImmagineQuadrata,0,0,imagecolorallocate($ImmagineQuadrata, 255, 255, 255)); imagecopy ($ImmagineQuadrata, $ImgSorgente,0,0, $PartenzaFillX, $PartenzaFillY,$min, $min); $NuovaQuadrataRidimensionata = imagecreatetruecolor($Lato,$Lato); imagefill($NuovaQuadrataRidimensionata,0,0,imagecolorallocate($NuovaQuadrataRidimensionata, 255, 255, 255)); imagecopyresampled($NuovaQuadrataRidimensionata, $ImmagineQuadrata, 0, 0, 0, 0,$Lato, $Lato, $min, $min); $Immagine=$NuovaQuadrataRidimensionata; break; case "vergine": $Immagine=$ImgSorgente; break; case "": $Immagine=Ridimensiona($ImgSorgente,$Lato,$Fissa); break; } if($Folder=="galleria"){ if(($Dim!="sm")&&($Dim!="sa")){ //$Immagine=waterMarkLogo($Immagine,"img/logo_galleria.gif",205); } }else{ if($Watermark){ $Immagine=waterMarkLogo($Immagine); } } if($Forma=="vergine"){ if(($ForzaSalvataggio)&&(1)){ header("Content-type: image/jpg"); header("Content-Disposition: attachment; filename=aroma_de_roma_".$IDImg.".jpg"); readfile($Img); }else{ header("Content-type: image/jpeg"); header("Content-Disposition: inline; filename=$NF;"); readfile($Img); } } ?>