Как я могу контролировать скорость анимированного GIF? - PullRequest
0 голосов
/ 31 марта 2012

Я хотел бы контролировать скорость анимированного GIF в Java-апплете.Есть ли способ сделать это?Если нет, есть ли способ получить доступ к данным анимированного GIF-файла, чтобы апплет мог самостоятельно рисовать анимационное изображение за изображением?

Ответы [ 2 ]

2 голосов
/ 31 марта 2012

Я думаю, что частота кадров встроена в GIF.Вы могли бы как-то извлечь изображения из GIF, но это сложнее, чем начинать с отдельных изображений и анимировать их в JS, что сложнее, чем воссоздавать GIF с предпочтительной частотой кадров.

Если вы собираетесьиспользуйте GIF только один раз, и частота кадров не изменится, просто заново создайте GIF.Если вам нужно изменить скорость на основе входных данных из вашего апплета, вы можете использовать подход здесь .Он чередует между двумя гифками, но ничто не мешает вам загружать в PNG и чередовать их через массив.

0 голосов
/ 07 ноября 2014

Анимированный формат GIF состоит из данных для каждого кадра и значения задержки (как долго показывать этот кадр).Задержка является отдельной для каждого кадра и сохраняется как два байта и измеряется сотнями секунд.

Netscape (назад, когда это было в Интернете), не мог показать кадры быстрее чем 10 в секунду.Так что многие инструменты только что сказали, привинтите его и установите задержку для всех фреймов на 0. Многие старые GIF-файлы и старые инструменты сохраняют эти запаздывающие времена задержки фреймов примерно на одном уровне.Обойти это, проверив, имеет ли задержка какой-либо из кадров <= 50 мс (20+ кадров в секунду).Если они сделали, задержка была увеличена до 100 мс (10 кадров в секунду).</p>

В принципе, лучшим решением было бы просто исправить GIF, который вы используете, чтобы иметь точные задержки кадров в них.Если это невозможно, используйте тот же старый способ.Вырежьте кадры из анимированного GIF и выполните анимацию самостоятельно, по умолчанию используется задержка в 100 мс, если указанная задержка составляет <= 50 мс.Это даст вам то же поведение, что и в большинстве веб-браузеров. </p>

Прочтите об этом некоторое время назад.Подумайте о большинстве деталей, упомянутых в википедии (включая анимированный формат GIF и задержки для каждого кадра).Если вам действительно нужны надежные ссылки, я могу откопать их для вас.

...