Могу ли я иметь анимированный GIF с более чем 256 цветами на кадр?


31

Могу ли я иметь анимированный GIF с более чем 256 цветами на кадр? Я хочу сделать анимированный GIF, но ограниченный цветной поддон делает его похожим на мусор.

Ответы:


42

Да, вы можете с определенными ограничениями.

радуга из коробок

GIF поддерживает индивидуальные (локальные) палитры кадров и имеет метод удаления кадров «как есть», позволяющий объединять несколько кадров.

Я написал [кодировщик GIF " gifski ", используя эту технику]. Он производит анимацию с 1000-3000 цветов на кадр.

Суть в том, что вы можете воспользоваться этим только тогда, когда не все пиксели изображения меняются между кадрами. Итак, если у вас есть что-то движущееся перед неподвижным фоном, у вас может быть более 256-цветная анимация - движущийся объект будет ограничен 256 цветами, но фон может состоять из нескольких кадров с разными палитрами. При умном сглаживании можно даже использовать несколько пикселей движущихся объектов .


Вы имеете в виду, что только анимированные изображения могут иметь более 256 цветов? Можно ли все-таки взломать, чтобы мы могли отображать статическое изображение с более чем 256 цветами?
Pacerier

4
@Pacerier Это работает только для анимации. Теоретически это было бы возможно для статического GIF, но из-за устаревших ошибок браузеры интерпретируют 0задержку кадра как ~ 1/16 секунды, поэтому в лучшем случае вы можете иметь анимацию, которая создает статическое изображение. Для статики вам все равно лучше с PNG / JPG.
Корнел

3
Да, gif даже не имеет ни одного преимущества в области статических изображений.
Pacerier

2
@ GeorgeEdison вы могли бы, но GIF имеет очень слабое сжатие, поэтому было бы хуже во всех отношениях, чем просто использование PNG или чего-то еще.
Корнель

1
@ g491 gifsicle может создавать такие файлы (используйте несколько gif-файлов с прозрачностью и утилизацией = режим хранения)
Kornel

5

Нет, ты не можешь; Формат GIF позволяет только 256 цветов.


3
За кадр. Прежде чем вы упомянете о практических проблемах, я уверен, что Бинг использует эти настоящие GIF-изображения прямо сейчас.
Джон Чедвик

1
Я вижу 32697 цветов на этом gif: phil.ipal.org/tc.html, а также goo.gl/DBdg1o
Pacerier,

3

По крайней мере, теоретически вы можете складывать GIF-изображения и делать дополнительные цвета прозрачными.

  1. Сначала вы копируете каждый фрейм, чтобы у вас их было два.
  2. Затем выберите область по цвету с достаточно низкой чувствительностью, чтобы выделить половину изображения.
  3. Затем просто сотрите все внутри выделения.
  4. Теперь инвертируйте выделение.
  5. Затем перейдите к следующему кадру и сотрите все заново.
  6. Сохранить конечный результат ( raw-ani.gif).
  7. Удалить половину кадров.
  8. Сохранить с новым именем файла ( ani1.gif).
  9. Загрузите ранее сохраненную версию.
  10. Удалить другую половину кадров.
  11. Сохранить снова ( ani2.gif).

Взломать HTML с абсолютным позиционированием и положить ani2.gifповерх ani1.gif.

Повторите процесс, чтобы сделать четыре, восемь, 16 слоев или что вы хотите.

Вы также можете ускорить raw-ani.gifрезультат и получить то, что описал Корнел.


2

Никакие gif-файлы не ограничены 256 цветами.


4
Хотя это и правда, хак с настоящим цветом GIF имеет некоторые основные ограничения: он не работает с программами просмотра изображений, которые не поддерживают анимацию (или в браузерах, где пользователь отключил анимацию GIF), в некоторых случаях он может отображаться очень медленно браузеры, которые налагают минимальную задержку кадра , и это имеет тенденцию производить огромные файлы, которые сжимают плохо. Это аккуратно, но не очень полезно в реальном мире. Просто используйте PNG, если вам нужно более 256 цветов. (Увы, поддержка браузеров MNG / APNG действительно нечеткая.)
Илмари Каронен,

Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить здесь основные части ответа и предоставить ссылку для справки.
Марк Хендерсон

1

Можно получить настоящий цветной рисунок, и в Интернете есть различные статьи, однако они не очень практичны.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.