>[оверквотинг удален]
>
>И получаем всегда 800x600 с возможным уродованием картинки. Зачем что-то считать в
>таком случае мне не понятно.
>
>Если стоит задача вписать в 800х600 картинку сохранив соотношение сторон, то считаем
>так
>h,w - исходная высота и ширина
>r=h/w
>h_new=(r < 0.75)? 800*r : 600
>w_new=(r < 0.75)? 800 : 600/r Ресайзит картинки пропорционально О_о \|/
$time=time();
$mtime=str_replace(" ",'',microtime());
$filename="../temp/$time.$mtime.tmp";
move_uploaded_file($_FILES['picture']['tmp_name'],$filename)or die('Невозможно скопировать файл');
if(eregi(".jpg$|.jpeg$",$_FILES['picture']['name'])){
$cop = imagecreatefromJpeg($filename);
$thumb = imagecreatefromJpeg($filename);
}elseif(eregi(".png$",$_FILES['picture']['name'])){
$cop = imagecreatefrompng($filename);
$thumb = imagecreatefromJpeg($filename);
}elseif(eregi(".gif$",$_FILES['picture']['name'])){
$cop = imagecreatefromgif($filename);
$thumb = imagecreatefromJpeg($filename);
}else{
die("Неправильный формат картинки");
@chmod($filaneme,0777);
@unlink($filename);
}
function rs($sz_x,$sz_y,$fln,$fl,$pt,$nm,$link,$sz){ //Ширина, высота, файл, файл2, путь, имя
$size=getimagesize($fln);
$x_ratio=$sz_x / $size[0];
$y_ratio=$sz_y / $size[1];
if(($size[0]<=$sz_x)&&($size[1]<=$sz_y)){
$tn_width=$size[0];
$tn_height=$size[1];
}elseif(($x_ratio * $size[1])<$sz_x){
$tn_height=$x_ratio * $size[1];
$tn_width=$sz_x;
}else{
$tn_width=$y_ratio * $size[0];
$tn_height=$sz_y;
}
$time=time();
$mtime=str_replace(" ",'',microtime());
$trumb=imagecreatetruecolor($tn_width,$tn_height);
$image=imagecopyresized($trumb,$fl,0,0,0,0,$tn_width,$tn_height,$size[0],$size[1]);
ImageJpeg($trumb,$pt.$nm,-1);
ImageDestroy($trumb);
ImageDestroy($fl);
mysql_query("insert into photos values('', '".($pt.$nm)."', '".$_POST['photo_name']."', '".$_POST['photo_descr']."', '".$_POST['alb_add']."', '".$sz."')", $link);
}
$name=$time.$mtime;
rs(800,600,$filename,$cop,"../images/photo/",$name."_big.jpg",$link,1);
rs(75,56,$filename,$thumb,"../images/photo/",$name."_small.jpg",$link,2);
@chmod($filename,0777);
@unlink($filename);