Я не думаю, что Imlib2 вообще поддерживает запись файлов GIF.Из довольно старого списка рассылки :
я обнаружил, что Imlib2 абсолютно НЕ поддерживает запись файлов gif.
Кроме того, если выПосмотрите на источник, вы увидите пару интересных файлов:
imlib2-1.4.5/src/modules/loaders/loader_png.c
imlib2-1.4.5/src/modules/loaders/loader_gif.c
Внутри loader_png.c
васВы найдете это:
char
load(ImlibImage * im, ImlibProgressFunction progress,
char progress_granularity, char immediate_load)
{
/*...*/
}
char
save(ImlibImage * im, ImlibProgressFunction progress, char progress_granularity)
{
/*...*/
}
и внутри loader_gif.c
, вы найдете:
char
load(ImlibImage * im, ImlibProgressFunction progress, char progress_granularity,
char immediate_load)
{
/* ... */
}
, но без save
реализации.Похоже, что Imlib2 может читать GIF-файлы, но не может их писать, и в этом ваша проблема.
Я бы порекомендовал вам переключиться на GraphicsMagick и Graphics::Magick
.GraphicsMagick - это форк ImageMagick, который работает быстрее и содержит меньше ошибок, это то, что Flickr использует внутри, так что оно должно быть достаточно для вас.К сожалению, GraphicsMagick использует несколько странный API-интерфейс ImageMagick, но вы можете без особых сложностей скрыть уродливые детали за оболочкой.
Либо сохраните все свои эскизы в формате JPEG или PNG.