| | Здравствуйте.
Спасибо за ответ!
Подскажите, пожалуйста, еще по поводу рисунков.
Использую функцию, которая приведена в книге Кузнецова "PHP5 на примерах" для вывода масштабированных изображений сразу в браузер. Но надо сделать так, чтобы размеры масштабированного изображения были всегда одинаковыми, например, 100 х 60.
А они получаются то меньше по высоте, то меньше по ширине.
Как это исправить?
Вот сама функция:
************************************************
<?php
$img=$_GET['img'];
resizeimg($img, 100, 60);
function resizeimg($filename, $w, $h)
{
$ratio=$w/$h;
$size_img=getimagesize($filename);
if (($size_img[0]<$w) && ($size_img[1]<$h)) return true;
$src_ratio=$size_img[0]/$size_img[1];
if ($ratio<$src_ratio) $h=$w/$src_ratio;
else $w=$h*$src_ratio;
$dest_img=imagecreatetruecolor($w, $h);
if ($size_img[2]==2) $src_img=imagecreatefromjpeg($filename);
else if ($size_img[2]==1) $src_img=imagecreatefromgif($filename);
else if ($size_img[2]==3) $src_img=imagecreatefrompng($filename);
if (!imagecopyresampled ($dest_img, $src_img, 0,0,0,0, $w, $h,
$size_img[0], $size_img[1])) return false;
$path_parts=pathinfo($filename);
// вывод изображений в браузер
if ($path_parts["extension"]=="jpg")
{
header("Content-type: image/jpeg");
imagejpeg($dest_img);
}
else if ($path_parts["extension"]=="gif")
{
header("Content-type: image/gif");
imagegif($dest_img);
}
else if ($path_parts["extension"]=="png")
{
header("Content-type: image/png");
imagegif($dest_img);
}
imagedestroy($dest_img);
imagedestroy($src_img);
return true;
}
?>
************************************************
А вывод на стр. осуществляется вот таким образом:
<img src="util.php?img=image002.jpg" border=0>
Как сделать так, чтобы вот этот рисунок, который выводится, масштабировался с размерами 100 х 60? Естественно, загружают файлы-исходники большего размера.
С уважением,
Воробьев Ярослав. | |