getimagesize () возвращает неверную высоту для анимированного GIF - PullRequest
1 голос
/ 27 декабря 2011

В моем отладчике PHP (в точке останова) я однозначно наблюдаю, что функция PHP getimagesize() возвращает неверную высоту для анимированного GIF. Открытие GIF в IrfanView показывает правильную высоту (266 x 199 пикселей). Однако getimagesize() сообщает, что размеры составляют 266 x 353 пикселей (индексы 0 и 1 соответственно массива, возвращенного из getimagesize()).

(Биты на пиксель, возвращаемые getimagesize(), также неверны - они указаны как 5 вместо 8, но http://php.net/manual/en/function.getimagesize.php указывает, что этого следует ожидать для анимированного GIF.)

Может кто-нибудь объяснить мне, почему getimagesize() терпит неудачу в этом сценарии, и какой обходной путь может быть доступен.

1 Ответ

1 голос
/ 27 декабря 2011

Это может быть связано с размером холста GIF, как определено в заголовке GIF.Заголовок может отправлять неправильный размер, и PHP будет захватывать это.Вы можете проверить заголовки вручную, используя Image Magic.

Больше информации по этой теме здесь: http://www.mombu.com/php/php/t-28432-getimagesize-return-incorect-width-height-10147509-last.html

Надеюсь, что поможет.

...