|
|
|
| вот код.. ресайзит все нормально но вот только дело в качестве фотки.. фотка получается не совсем четкая как исходник.. как с этим боротся ? подскажите плз. как сделать чтоб ресайзило без потери качества
<?php
// Изменение размеров изображений;
function img_resize($photo, $width) {
// Проверяем существует ли изображение, если нет, то прекращаем выполнение
if (!file_exists($photo)) return false;
$image = imagecreatefromjpeg($photo);
$height = false;
// Опеределяем размеры изображения;
$w_image = imagesx($image);
$h_image = imagesy($image);
// Если задананные размеры изображения больше чем фактические прекращаем выполнение
if ($w_image <= $width) return false;
// Вычисляем масштаб;
$ratio = $height ? max($w_image/$width, $h_image/$height) : $w_image/$width;
// Вычисляем пропорции;
$w_dest = round($w_image/$ratio);
$h_dest = round($h_image/$ratio);
// Создаём пустую картинку;
$dest = imagecreatetruecolor($w_dest, $h_dest);
// Масштабируем изображение;
imagecopyresampled($dest, $image, 0, 0, 0, 0, $w_dest, $h_dest, $w_image, $h_image);
// Выводи файл на экран
imagejpeg($dest);
// Удаляем переменные изображений;
imagedestroy($dest);
imagedestroy($image);
}
?>
|
| |
|
|
|
|
|
|
|
для: t3ma
(30.08.2009 в 13:35)
| | Наилучшее качество - imagejpeg($dest,'',100). По умолчанию используется 75 | |
|
|
|
|
|
|
|
для: t3ma
(30.08.2009 в 13:35)
| | Возможно ресайзит не пропорционально! | |
|
|
|
|
|
|
|
для: TetRiska
(30.08.2009 в 21:32)
| | возможно
<php
// Опеределяем размеры изображения;
$w_image = imagesx($image);
$h_image = imagesy($image);
// эти размеры задать фиксироваными
// Вычисляем масштаб;
$ratio = $height ? max($w_image/$width, $h_image/$height) : $w_image/$width;
// Вычисляем пропорции;
$w_dest = round($w_image/$ratio);
$h_dest = round($h_image/$ratio);
// эти строки убрать
?>
|
| |
|
|
|