$IDImg=str_replace(".jpg","",$_GET["id"]);
$Folder=$_GET["folder"];
function waterMarkLogo($jpegImg,$Logo="img/logo_immagini.gif",$Ridimensiona=200){
global $DirRoot;
$transparency = 100;
$jpegQuality = 100;
$margin = 5;
/*
if($Logo=="img/logo_immagini.gif"){
}else{
$wmImg = imagecreatefrompng($DirRoot.$Logo);
}
*/
$wmImg = imagecreatefromgif($DirRoot.$Logo);
//if($Ridimensiona!=200){
$wmImg =RidimensionaTrasparenti($wmImg ,200);
//}
$wmX = ((imageSX($jpegImg)) - (imageSX($wmImg)))-10;
$wmY = 10;
imagecopymerge($jpegImg, $wmImg, $wmX, $wmY, 0, 0, imagesx($wmImg), imagesy($wmImg), 100);
return $jpegImg;
imagedestroy($wmImg);
}
function RidimensionaTrasparenti($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);
$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);
}
}
?>