Czy mogę mieć animowany GIF z ponad 256 kolorami na ramkę?


31

Czy mogę mieć animowany GIF z ponad 256 kolorami na ramkę? Chcę zrobić animowany GIF, ale ograniczona paleta kolorów sprawia, że ​​wygląda jak śmieci.

Odpowiedzi:


42

Tak, możesz z pewnymi ograniczeniami.

tęcza z pudełek

GIF obsługuje palety na ramkę (lokalną) i ma metodę usuwania ramek „jak jest”, która umożliwia łączenie kilku ramek.

Napisałem [koder GIF „ gifski ”, używając tej techniki]. Tworzy animacje z około 1000-3000 kolorów na ramkę.

Problem polega na tym, że możesz z tego skorzystać tylko wtedy, gdy nie wszystkie piksele obrazu zmieniają się między ramkami. Tak więc, jeśli coś porusza się przed nieruchomym tłem, możesz mieć animację o więcej niż 256 kolorach - poruszający się obiekt będzie ograniczony do 256 kolorów, ale tło może składać się z kilku ramek o różnych paletach. Dzięki sprytnemu ditheringowi możliwe jest nawet ponowne użycie niektórych pikseli ruchomych obiektów .


Czy masz na myśli, że tylko animowane obrazy mogą mieć więcej niż 256 kolorów? Czy można go w jakiś sposób zhakować, aby wyświetlić obraz statyczny w ponad 256 kolorach?
Pacerier

4
@Pacerier Działa tylko w przypadku animacji. Teoretycznie byłoby to możliwe w przypadku statycznego pliku GIF, ale ze względu na starsze wersje / przeglądarki błędów interpretują 0opóźnienie ramki jako ~ 1/16 sekundy, więc w najlepszym razie możesz mieć animację, która tworzy statyczny obraz. W przypadku statycznych i tak lepiej jest z PNG / JPG.
Kornel

3
Tak, gif nawet nie wydaje się mieć żadnej przewagi w dziedzinie obrazów statycznych.
Pacerier

2
@GeorgeEdison możesz, ale GIF ma strasznie słabą kompresję, więc byłoby gorzej pod każdym względem niż tylko używanie PNG lub cokolwiek innego.
Kornel,

1
@ g491 gifsicle może budować takie pliki (użyj wielu gifów z przezroczystością i usuwaniem = tryb zachowania)
Kornel

5

Nie, nie możesz; Format GIF pozwala tylko na 256 kolorów.


3
Na klatkę. Zanim wspomnisz o kwestiach praktycznych, jestem pewien, że Bing używa teraz tych GIF-ów w prawdziwych kolorach.
John Chadwick

1
Widzę 32697 kolorów na tym gifie: phil.ipal.org/tc.html, a także goo.gl/DBdg1o
Pacerier

3

Teoretycznie możesz układać pliki GIF w stosy i sprawiać, by dodatkowe kolory były przezroczyste.

  1. Najpierw skopiuj każdą klatkę, aby uzyskać dwie z nich.
  2. Następnie wybierz obszar według koloru z czułością wystarczająco niską, aby wybrać połowę obrazu.
  3. Następnie wystarczy usunąć wszystko z zaznaczenia.
  4. Teraz odwróć zaznaczenie.
  5. Następnie przejdź do następnej klatki i usuń wszystko ponownie.
  6. Zapisz wynik końcowy ( raw-ani.gif).
  7. Usuń połowę klatek.
  8. Zapisz z nową nazwą pliku ( ani1.gif).
  9. Załaduj poprzednio zapisaną wersję.
  10. Usuń drugą połowę ramek.
  11. Zapisz ponownie ( ani2.gif).

Zhakuj trochę kodu HTML z absolutnym pozycjonowaniem i umieść ani2.gifna nim ani1.gif.

Powtórz ten proces, aby utworzyć cztery, osiem, 16 warstw lub co chcesz.

Możesz także przyspieszyć raw-ani.gifwynik i mieć to, co opisał Kornel.


2

Żadne pliki gif nie są ograniczone do 256 kolorów.


4
Chociaż w pewnym sensie prawda, włamanie do GIF-ów w prawdziwych kolorach ma pewne poważne ograniczenia: nie działa na przeglądarkach obrazów, które nie obsługują animacji (lub w przeglądarkach, w których użytkownik wyłączył animację GIF), ale może renderować bardzo wolno w niektórych przeglądarki, które narzucają minimalne opóźnienie klatek i zwykle generują ogromne pliki, które źle się kompresują. Jest schludny, ale niezbyt przydatny w prawdziwym świecie. Po prostu użyj PNG, jeśli potrzebujesz więcej niż 256 kolorów. (Niestety, obsługa przeglądarki MNG / APNG jest naprawdę niejednoznaczna.)
Ilmari Karonen

Chociaż teoretycznie może to odpowiedzieć na pytanie, lepiej byłoby zawrzeć tutaj istotne części odpowiedzi i podać odnośnik.
Mark Henderson

1

Możliwe jest posiadanie prawdziwego kolorowego gifu i są różne artykuły online, jednak nie są one zbyt praktyczne.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.