Глюк с GD2 (функция imagecopyresampled)

apustilnic

Новичок
Глюк с GD2 (функция imagecopyresampled)

Доброго времени суток!

Обнаружил наличие бага в ф-ции imagecopyresampled (подробнее http://bugs.php.net/bug.php?id=12780 )
Суть в том, что ф-ция иногда пренебрегает размерами исходного изображения.

Скачал свежий релиз php 5.2.3 (в том числе и gd2), однако это проблему не решило.

Если кто-нибудь сталкивался с данной проблемой - напишите можно ли ее как-то решить.
Спасибо.


На всякий пожарный привожу кусок кода:
PHP:
if($zoom!=100){
            // опеределяем новые размеры 
            list($width, $height) = getimagesize($full_path);
            $newwidth = $width * $zoom/100;
            $newheight = $height * $zoom/100;
    
            // Загружаем
            $thumb = imagecreatetruecolor($newwidth, $newheight);
            $source = imagecreatefromjpeg($full_path);
    
            // Изменяем размер
            imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    
            // Выводим
            imagejpeg($thumb, null, 100);
            imagedestroy($thumb);
            imagedestroy($source);
} else {
           readfile($full_path);
};
exit();
 

tony2001

TeaM PHPClub
очень подробное описание проблемы "ф-ция иногда пренебрегает размерами исходного изображения".
зачем нужен весь остальное текст - непонятно.
единственно возможный ответ - "что-то у тебя не так".
 

apustilnic

Новичок
Скорее всего что-то не так не у меня, а у библиотеки php_gd2.dll v5.2.0.0 & v5.2.3.3.

Неужели никто не сталкивался с подобным багом?
 

tony2001

TeaM PHPClub
нет, никто не сталкивался.
но если ты всё-таки попробуешь нормально описать проблему (с примерами изображений и пояснениями), то кто-то может попробовать помочь тебе.
 

apustilnic

Новичок
Описываю проблему:

У меня есть скрипт для просмотра картинок (документ pdf, сохраненный как набор JPG-файлов)
При помощи ранее выложенного куска кода я масштабирую картинку.
При этом при масштабе 100% и меньше - все ok,
однако при больших масштабах ф-ция режет картинку причем высота среза каждый раз разная

Результат работы прилогаю в виде картинки

 

kruglov

Новичок
При увеличении, что ли? А смысл делать превьюшки больше оригинала?
 

apustilnic

Новичок
Это не превьюшки - а что-то вроде слайд-шоу.

А поэтому для всяких там полуслепых юзверей надо предусмотреть опцию масштабирования :)
 

Фанат

oncle terrible
Команда форума
apustilnic
скажи, ты правда не понимаешь, что при описании ошибки в функции пхп, надо приводить пример кода ТОЛЬКО с одной этой функцией, а не свой кривой код?
 

apustilnic

Новичок
*****
Во-первых, не надо горячиться на счет моего кода. Избыток информации лучше чем недостаток.
Во-вторых, проблема, как я понимаю, именно в gd библиотеке, а не в моем "кривом" коде.
 

Фанат

oncle terrible
Команда форума
понимать свою проблему от тебе не требуется.
от тебя требуется описание проблемы, связанной с гд, а не с твоим кривым кодом.
если ты до сих пор не понял.
в общем, поскольку ты все равно не понимаешь, что тебе говорят, тему можно закрывать, как бессмысленную
 

kruglov

Новичок
Намек - почему вы уверены, что проблема именно в imagecopyresampled, а не до и не после нее?
 

apustilnic

Новичок
kruglov
Вы были правы, ранне в коде я отправлял хидер:
header("Content-Length: ".filesize($full_path));

По всей видимости его нельзя использовать вместе с imagecopyresampled и imagejpeg

Спасибо. Тему можно закрыть.
 
Сверху