vldmr_ch
Guest
resize картинки на сервере
вот рабочий код . Картинка действительно приходит в браузер уже меньшего размера, НО...какая-то голубая, что ли. вообщем обесвеченная.
Пользуюсь 4 v. php
<?
$image = $_GET['image'].".jpg";
$max_width = 110;
$max_height = 80;
$size = GetImageSize($image);
$width = $size[0];
$height = $size[1];
$x_ratio = $max_width / $width;
$y_ratio = $max_height / $height;
if ( ($width <= $max_width) && ($height <= $max_height) ) {
$tn_width = $width;
$tn_height = $height;
}
else if (($x_ratio * $height) < $max_height) {
$tn_height = ceil($x_ratio * $height);
$tn_width = $max_width;
}
else {
$tn_width = ceil($y_ratio * $width);
$tn_height = $max_height;
}
$src = ImageCreateFromJpeg($image);
$dst = ImageCreate($tn_width, $tn_height);
ImageCopyResized($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
header('Content-type: image/jpeg');
ImageJPEG($dst);
ImageDestroy($src);
ImageDestroy($dst);
?>
вот рабочий код . Картинка действительно приходит в браузер уже меньшего размера, НО...какая-то голубая, что ли. вообщем обесвеченная.
Пользуюсь 4 v. php
<?
$image = $_GET['image'].".jpg";
$max_width = 110;
$max_height = 80;
$size = GetImageSize($image);
$width = $size[0];
$height = $size[1];
$x_ratio = $max_width / $width;
$y_ratio = $max_height / $height;
if ( ($width <= $max_width) && ($height <= $max_height) ) {
$tn_width = $width;
$tn_height = $height;
}
else if (($x_ratio * $height) < $max_height) {
$tn_height = ceil($x_ratio * $height);
$tn_width = $max_width;
}
else {
$tn_width = ceil($y_ratio * $width);
$tn_height = $max_height;
}
$src = ImageCreateFromJpeg($image);
$dst = ImageCreate($tn_width, $tn_height);
ImageCopyResized($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
header('Content-type: image/jpeg');
ImageJPEG($dst);
ImageDestroy($src);
ImageDestroy($dst);
?>