Лучшая практика для передачи переменной за пределы функции - PullRequest
0 голосов
/ 27 апреля 2018

Я использую 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 . Он прост в использовании, но не может получить правильную продолжительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...