Я пытаюсь добавить функциональность генерации GIF в свое приложение, чтобы пользователь мог делиться своими анимированными творениями со своими друзьями и т. Д.Как я могу улучшить размер файла моего сгенерированного GIF?
В моем приложении пользователь может выбрать статическое фоновое изображение, чтобы иметь элемент drop вниз, поэтому единственной движущейся частью является элемент.
У меня есть GIF-поколение working fine using this encoder, которое основано на this code, и готовый продукт выглядит так, как я этого хочу, но если пользователь выбирает фоновое изображение, размер файла превышает мой целевой размер 3 МБ. Here is an example.
Я также предполагаю, что любые пользователи планшета получат огромные файлы, так как размер изображения - это размер вида, из которого он создан. Все GIFS составляют около 12-20 кадров, поэтому я предполагаю, что проблема связана с количеством цветов или по каким-то причинам цвета фонового изображения немного меняются от кадра к кадру.
Так что я могу получить размер файла под 3 МБ, поддерживая FPS и размеры? (Изменение кода генерации GIF/Изменение цветов фонового изображения/и т. Д.) Или, если нет, то каким будет лучший способ получить его ниже 3 МБ и по-прежнему привлекать пользователей?
Заранее благодарен! (:
EDIT: Похоже, проблема в том, что класс я использую не оптимизирует каждый кадр как дифф или треугольником последнего Любые предложения (:.?
Вы проверили изображение с помощью соответствующего инструмента, который может показать вам фактическое содержимое рамки? Они должны содержать только дельта к предыдущему кадру. О, и насколько большой файл, когда вы делаете только анимацию кадра? Это тоже хороший контроль. Если проблема возникает уже с одним кадром, это фоновое изображение, которое вы выбрали. GIF не предназначен для фотографий. –
Что было бы «подходящим инструментом», чтобы проверить это? –
Любой инструмент, который может разобрать анимацию Gif. Например, GIMP. Осмотрите отдельные слои. –