|
|
|
| Здравствуйте!
Тем по изменению размеров изображений на вашем форуме много. Поэтому не стану
поднимать старые проблемы.
Я столкнулся сдругой проблемой. Когда изменяешь размеры анимационного
gif-изображения функциями imagecopyresampled или imagecopyresized
(библиотека GD), сохраняется только уменьшеный первый кадр - остальные кадры
игнорируются.
Использую такой код:
/*
$outfile - выходной файл (если указать "" - пустую строку), то вывод произойдёт в
окно браузера)
$infile - исходный файл изображения
$neww - новая ширина картинки
$newh - новая высота картинки
$type - тип изображения (1 - GIF, 2 - JPG, 3 - PNG) Тип можно узнать используя
функцию getimagesize("путь к файлу"); Функция возвращает массив:
1й элемент - ширина,
2й элемент - высота,
3й элемент - тип
*/
function imageresize($outfile,$infile,$neww,$newh,$type)
{
if (!file_exists($infile)) return 1;
$quality=75; // для JPG - качество сжатия картинки
switch ($type)
{
case (1): $im=imagecreatefromgif($infile); break;
case (2): $im=imagecreatefromjpeg($infile); break;
case (3): $im=imagecreatefrompng($infile); break;
default : return 1; break;
}
$nim=imagecreatetruecolor($neww,$newh);
imagecopyresampled($nim,$im,0,0,0,0,$neww,$newh,imagesx($im),imagesy($im));
if (!file_exists($outfile))
{
$fp=fopen($outfile, "w");
fwrite($fp,"");
fclose($fp);
}
switch ($type)
{
case (1): imagegif($nim,$outfile); break;
case (2): imagejpeg($nim,$outfile,$quality); break;
case (3): imagepng($nim,$outfile); break;
default : return 1; break;
}
imagedestroy($im);
imagedestroy($nim);
return 0;
}
|
Если кто знает, как сделать маленькую анимированную GIF-картинку из большй,
то буду благодарен, если поможете. | |
|
|
|
|
|
|
|
для: mishaga
(20.09.2006 в 10:10)
| | Библиотека GDLib не работает с анимированными изображениями. | |
|
|
|
|
|
|
|
для: cheops
(20.09.2006 в 12:34)
| | может я что то не понял?
11/01/04:
gd 2.0.29 added animated GIF writing support, fontconfig support for easily specifying
freetype font names, open polygon drawing, and important fixes for theoretically exploitable
integer overflows in memory allocation code in previous releasesgd
|
но вроде как теперь поддерживает
http://www.boutell.com/gd/ | |
|
|
|
|
|
|
|
для: P@Sol
(20.09.2006 в 15:35)
| | Хм... любопытно... а какие функции это поддерживают? | |
|
|
|
|
|
|
|
для: cheops
(20.09.2006 в 12:34)
| | Начиная с версии 2.0.29 GD поддерживает анимационные gif'ы
А у меня 2.0.28. Так что я пропёрся =) | |
|
|
|
|
|
|
|
для: mishaga
(21.09.2006 в 07:21)
| | http://www.boutell.com/gd/
Version 2.0.33 (Stable)
Меня вот тут что интересует, можно ли отсюда что-то подсунуть в установленный дома пакет DENWER, чтобы поробовать новые возможности? В частности и анимацию? | |
|
|
|
|
|
|
|
|
для: P@Sol
(21.09.2006 в 13:55)
| | Получилось ли у вас найти GD 2.0.33 или быть может Imagick 0.9.11 и выше? | |
|
|
|
|
автор: кастен (27.11.2006 в 22:34) |
|
|
для: mishaga
(20.09.2006 в 10:10)
| | Открываешь в Adobe Image Ready Edit ->File Size и меняешь размер на нужный | |
|
|
|
|
|
|
|
для: кастен
(27.11.2006 в 22:34)
| | >Открываешь в Adobe Image Ready Edit ->File Size и меняешь размер на нужный
Каждой картинки, которую залили тебе на сайт? | |
|
|
|