Kare başına 256'dan fazla renk içeren bir animasyonlu GIF alabilir miyim?


31

Kare başına 256'dan fazla renk içeren bir animasyonlu GIF alabilir miyim? Hareketli bir GIF yapmak istiyorum, ancak sınırlı renk paleti onu çöp gibi gösteriyor.

Yanıtlar:


42

Evet, bazı sınırlamalar ile yapabilirsiniz.

gökkuşağı kutuları

GIF, kare başına (yerel) paletleri destekler ve birkaç karenin birleştirilmesine olanak tanıyan "olduğu gibi" kare imha yöntemine sahiptir.

[ Bu tekniği kullanarak bir GIF kodlayıcı " gifski " yazdım ]. Kare başına yaklaşık 1000-3000 renk içeren animasyonlar üretir.

Yakalama, bundan yalnızca görüntünün tüm pikselleri kareler arasında değişmediğinde yararlanabilirsiniz. Bu nedenle, hareketsiz bir arka planın önünde hareket eden bir şey varsa, 256'dan fazla renkli animasyona sahip olabilirsiniz - hareketli nesne 256 renkle sınırlandırılır, ancak arka plan farklı paletlere sahip birkaç kareden oluşabilir. Akıllı titremeyle, bazı piksel hareketli nesneleri yeniden kullanmak bile mümkündür .


Sadece animasyonlu görüntülerin 256'dan fazla renge sahip olabileceğini mi kastediyorsunuz ? Yine de 256'dan fazla renkle statik bir görüntü gösterebilmemiz için kesmek mümkün mü ?
Pacerier

4
@Pacerier Bu sadece animasyonlar için çalışır. Teorik olarak, statik bir GIF için mümkün olacaktır, ancak eski / hatalar nedeniyle tarayıcılar 0kare gecikmesini saniyenin ~ 1 / 16'sı olarak yorumlarlar , bu nedenle en iyi ihtimalle statik bir görüntü oluşturan animasyona sahip olabilirsiniz. Statik için yine de PNG / JPG ile daha iyi durumdasınız.
Kornel

3
Yea gif, statik görüntüler alanında tek bir avantaja sahip bile görünmüyor.
Pacerier 17:14

2
@GeorgeEdison yapabileceğinizi, ancak GIF oldukça zayıf bir sıkıştırma özelliğine sahip olduğundan PNG ya da başka bir şey kullanmaktan çok daha kötü olurdu.
Kornel

1
@ g491 gifsicle bunun gibi dosyalar oluşturabilir (saydamlık ve elden çıkarma ile birden fazla gif kullanın = sakla modu)
Kornel

5

Hayır, yapamazsınız; GIF formatı sadece 256 renge izin verir.


3
Kare başına. Pratiklik sorunlarından bahsetmeden önce, Bing'in şu anda bu gerçek renkli GIF’leri kullandığından eminim.
John Chadwick

1
Bu gif üzerinde 32697 renk görüyorum: phil.ipal.org/tc.html ve ayrıca goo.gl/DBdg1o
Pacerier 14:14

3

En azından teoride, GIF'leri istifleyebilir ve ekstra renkleri şeffaf hale getirebilirsiniz.

  1. İlk önce, her kareyi kopyalayın, böylece her ikisinden ikisine sahip olursunuz.
  2. Ardından, resmin yarısını seçecek şekilde duyarlılığı yeterince düşük olan bölgeye göre renk seçin.
  3. Ardından, seçim içindeki her şeyi silin.
  4. Şimdi, seçimi ters çevirin.
  5. Ardından bir sonraki kareye gidin ve her şeyi tekrar silin.
  6. Son sonucu kaydedin ( raw-ani.gif).
  7. Karelerin yarısını silin.
  8. Yeni bir dosya adıyla ( ani1.gif) kaydedin .
  9. Önceden kaydedilmiş sürümü yükleyin.
  10. Karelerin diğer yarısını silin.
  11. Tekrar kaydedin ( ani2.gif).

Mutlak konumlandırma ile bazı HTML Hack ve ani2.gifüstüne koymak ani1.gif.

Dört, sekiz, 16 katman veya istediğiniz şeyi yapmak için işlemi tekrarlayın.

Ayrıca raw-ani.gifsonucu hızlandırabilir ve Kornel'in anlattıklarını elde edebilirsiniz.


2

Hiçbir gif dosyası 256 renk ile sınırlı değildir.


4
Doğru olsa da, gerçek renkli GIF hack’in bazı önemli kısıtlamaları vardır: animasyonu desteklemeyen resim görüntüleyicilerde (veya kullanıcının GIF animasyonunu devre dışı bıraktığı tarayıcılarda) çalışmaz, bazı durumlarda çok yavaş işleyebilir Minimum kare gecikmesi uygulayan tarayıcılar ve kötü sıkıştırılan büyük dosyalar üretme eğilimindedir. Düzgün, ama gerçek dünyada pek kullanışlı değil. 256'dan fazla renge ihtiyacınız varsa, sadece PNG kullanın. (Ne yazık ki, MNG / APNG tarayıcı desteği gerçekten sivilceli.)
Ilmari Karonen

Bu soruyu teorik olarak cevaplayabilse de , cevabın temel kısımlarını buraya dahil etmek ve referans için bağlantıyı sağlamak tercih edilir.
Mark Henderson,

1

Gerçek bir renk gifine sahip olmak mümkündür ve çevrimiçi olarak çeşitli makaleler vardır, ancak bunlar çok pratik değildir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.