Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скрипт создает изображение плохого качества.
 
 автор: Arfey   (08.06.2009 в 00:47)   письмо автору
5.6 Кб
 
 

Вот скрипт который выводит уменьшенное изображение для предпросмотра:
<?
$max_width 
= 100;
$max_height = 100;
if (!
$max_width) $max_width = 100;
if (!
$max_height) $max_height = 100;

$size = GetImageSize($_GET['pp1']);
$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($_GET['pp1']);
$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, null, 90);
ImageDestroy($src);
ImageDestroy($dst);
?>

Но почему то одни изображения он выводит нормально, а другие - исключая некоторые цвета или что то подобное.
Пример вывода изображения этим скриптом прилагаю.

  Ответить  
 
 автор: Diplex   (08.06.2009 в 02:02)   письмо автору
 
   для: Arfey   (08.06.2009 в 00:47)
 

Как минимум:

ImageJpeg($dst, null, 90);


Здесь 90 - это качество картинки, поставьте максимальное 100.

  Ответить  
 
 автор: Trianon   (08.06.2009 в 02:17)   письмо автору
 
   для: Arfey   (08.06.2009 в 00:47)
 

Функцию изменения размера выбрали неподходящую.
Параметр качества не при чем.

  Ответить  
 
 автор: Arfey   (09.06.2009 в 00:27)   письмо автору
 
   для: Trianon   (08.06.2009 в 02:17)
 

Что предложите

  Ответить  
 
 автор: Zilog   (09.06.2009 в 02:32)   письмо автору
 
   для: Arfey   (09.06.2009 в 00:27)
 

>Что предложите

Тут все предложения
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=64804&page=1

  Ответить  
 
 автор: Trianon   (09.06.2009 в 09:11)   письмо автору
 
   для: Arfey   (09.06.2009 в 00:27)
 

предложу заглянуть в мануал по этой функции и всё таки прочесть рекомендацию.

  Ответить  
 
 автор: mihdan   (09.06.2009 в 09:45)   письмо автору
 
   для: Arfey   (08.06.2009 в 00:47)
 

imagecopyresampled вместо imagecopyresized
ImageJpeg($dst, null, 100);

  Ответить  
 
 автор: Giga   (09.06.2009 в 14:15)   письмо автору
 
   для: Arfey   (08.06.2009 в 00:47)
 

Используй формат PNG, визуально качество изображений полученных в GDlibr в этом формате выше вроде.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования