Станислав
Зарегистрирован: 05.02.2005 Сообщения: 2 Откуда: Москва
|
Добавлено: Сб Фев 05 2005 22:59 Заголовок сообщения: КАК ИЗМЕНИТЬ ИЗОБРАЖЕНИЕ В PHP БЕЗ ПОТЕРИ КАЧЕСТВА |
|
|
Помогите, разобраться.
Когда я изменяю изображение в PHP (меняю размер, копирую часть изображения) с помощью функций imagecopy, imagecopyresized, imagecopyresampled качество его становится очень плохим. Как можно этого избежать?
Мой ICQ: 270 732 535 |
|
Pasat V.
Зарегистрирован: 19.03.2005 Сообщения: 13 Откуда: Chisinau
|
Добавлено: Сб Мар 19 2005 00:35 Заголовок сообщения: |
|
|
КОД СКРИПТА "image_tb.php"
================================
<?
$url = $_REQUEST['url']; // URL ВАШЕГО ИЗОБРАЖЕНИЯ ИДЕТ ИЗВНЕ
$img_size = getimagesize($url); // реальные размеры фотки
$x = $_REQUEST['x']; // ЖЕЛАЕМАЯ ШИРИНА ИЗВНЕ
$y = $_REQUEST['y']; // ЖЕЛАЕМАЯ ШИРИНА ИЗВНЕ
if (is_file($url)) { // на всякий пожарный проверяем наличие файла
$fh = fopen($url, "rb");
$content = fread($fh, filesize($url));
fclose($fh);
$img_src = imagecreatefromstring($content);
if (!function_exists(imagecopyresampled)) {
$img_tb = imagecreate($x, $y);
imagecopyresized($img_tb, $img_src, 0, 0, 0, 0, $x, $y, $img_size[0], $img_size[1]);
}
else {
$img_tb = imagecreatetruecolor($x, $y);
$img_src = @imagecreatefromjpeg($url);
imagecopyresampled($img_tb, $img_src, 0, 0, 0, 0, $x, $y, $img_size[0], $img_size[1]);
}
header("Content-Type: image/jpeg");
imagejpeg($img_tb, '', 60); // 60 - это качество фотки на выходе
}
?>
================================
А ВОТ так к этому скрипту обращаются:
<img src="img_tb.php?url='path_to_your_file.jpg'&x=100&y=100" alt="This is thumbinail 100x100 of my image [path_to_your_file.jpg]">
у меня по крайней мере такие глюки решились именно подстановкой функции для ресэмпла/рисайза изображения... _________________ Web foreva |
|