Posso ter um GIF animado com mais de 256 cores por quadro?


31

Posso ter um GIF animado com mais de 256 cores por quadro? Eu quero fazer um GIF animado, mas o palete de cores limitado está fazendo com que pareça lixo.

Respostas:


42

Sim, você pode, com certas limitações.

arco-íris de caixas

O GIF suporta paletas por quadro (local) e possui um método de disposição de quadros "no estado em que se encontra", que permite combinar vários quadros.

Eu escrevi [um codificador GIF " gifski " usando esta técnica]. Produz animações com cerca de 1000 a 3000 cores por quadro.

O problema é que você só pode tirar vantagem disso quando nem todos os pixels da imagem mudam entre os quadros. Portanto, se você tiver algo em movimento na frente de um plano de fundo estático, poderá ter mais de 256 cores de animação - o objeto em movimento ficará limitado a 256 cores, mas o plano de fundo poderá ser composto de vários quadros com paletas diferentes. Com um pontilhamento inteligente, é possível reutilizar alguns pixels de objetos em movimento .


Você quer dizer que apenas imagens animadas podem ter mais de 256 cores? É possível invadir de qualquer maneira que possamos exibir uma imagem estática com mais de 256 cores?
Pacerier 14/10

4
@Pacerier Funciona apenas para animações. Em teoria, seria possível para um GIF estático, mas devido aos navegadores herdados / bugs interpretarem o 0atraso do quadro como ~ 1/16 de segundo, para que na melhor das hipóteses você possa ter uma animação que construa uma imagem estática. Para estática, você está melhor com PNG / JPG de qualquer maneira.
Kornel

3
Sim, o gif nem parece ter uma única vantagem no domínio das imagens estáticas.
Pacerier 17/10

2
@GeorgeEdison você poderia, mas o GIF tem uma compactação muito fraca, por isso seria pior em todos os aspectos do que apenas usar PNG ou qualquer outra coisa.
Kornel 02/10

1
@ g491 gifsicle pode construir arquivos como essa (usar vários gifs com transparência e eliminação = modo de manter)
Kornel

5

Não, você não pode; O formato GIF permite apenas 256 cores.


3
Por quadro. Antes de mencionar problemas de praticidade, tenho certeza que o Bing está usando esses GIFs de cores reais no momento.
John Chadwick

1
Vejo 32697 cores neste gif: phil.ipal.org/tc.html e também goo.gl/DBdg1o
Pacerier

3

Pelo menos, em teoria, você pode empilhar GIFs e tornar as cores extras transparentes.

  1. Primeiro, você copia cada quadro para ter dois de cada.
  2. Em seguida, selecione a área por cor com a sensibilidade baixa o suficiente para selecionar metade da imagem.
  3. Depois, basta apagar tudo dentro da seleção.
  4. Agora, inverta a seleção.
  5. Em seguida, vá para o próximo quadro e apague tudo novamente.
  6. Salve o resultado final ( raw-ani.gif).
  7. Exclua metade dos quadros.
  8. Salve com um novo nome de arquivo ( ani1.gif).
  9. Carregue a versão salva anteriormente.
  10. Exclua a outra metade dos quadros.
  11. Salve novamente ( ani2.gif).

Hackear um pouco de HTML com posicionamento absoluto e colocar ani2.gifem cima ani1.gif.

Repita o processo para criar quatro, oito, 16 camadas ou o que quiser.

Você também pode acelerar o raw-ani.gifresultado e ter o que Kornel descreveu.


2

Nenhum arquivo gif não está limitado a 256 cores.


4
Embora seja verdade, o hack de GIF em cores verdadeiras tem algumas limitações importantes: não funciona em visualizadores de imagens que não suportam animação (ou em navegadores em que o usuário desativou a animação em GIF), mas pode renderizar muito lentamente em alguns navegadores que impõem um atraso mínimo de quadro e tendem a produzir arquivos enormes que são compactados mal. É legal, mas não muito útil no mundo real. Use PNG se precisar de mais de 256 cores. (Alas, MNG / suporte ao navegador APNG é realmente irregular.)
Ilmari Karonen

Embora isso possa teoricamente responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
Mark Henderson

1

É possível ter um gif em cores verdadeiras e existem vários artigos on-line, porém eles não são muito práticos.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.