Я использую gif-endec для управления изображениями в формате gif. И я хочу получить продолжительность каждого кадра GIF. В настоящее время я использую следующие сценарии:
$gifStream = new FileStream("myfile.gif");
$gifDecoder = new Decoder($gifStream);
Global $gifDurations;
$gifDecoder->decode(function (FrameDecodedEvent $event) {
global $gifDurations;
$gifDurations[] = $event->decodedFrame->getDuration();
});
Сценарии работают нормально, и вывод:
array(3) { [0]=> int(200) [1]=> int(200) [2]=> int(200) }
Но я хотел бы знать, есть ли лучший способ получить тот же результат? Я пытался использовать return
, но он не может получить результат. Или я просто не сделал это должным образом ...
Пожалуйста, дайте мне знать, если есть лучшее решение ...
P.S. Я пытался использовать GifFrameExtractor . Он прост в использовании, но не может получить правильную продолжительность.