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.

Mark Henderson
źródło

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 .

Kornel
źródło
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.


źródło
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.

gaby de wilde
źródło
2

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

Nicolas Antoniazzi
źródło
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.

Jan
źródło