Uczynienie tła animowanymi plikami GIF przezroczystymi

13

Tworzyłem animowane pliki GIF za pomocą GIMP z kilku ramek w formacie PNG, które utworzyłem za pomocą Jmola, a teraz chciałbym wiedzieć, jak ustawić przezroczystość tła wynikowych plików GIF. Wszelkie proponowane oprogramowanie lub strony internetowe powinny być dostępne bezpłatnie.

BH2017
źródło
Czy zrobiłeś jakieś wysiłki? Zobacz tu i tam .
Paolo Gibellini,
Zrobiłem to już wcześniej, ale nie warto widzieć, jak ten GIF jest animowany, a nie statyczny, ponieważ metody te są przydatne tylko w przypadku obrazów statycznych. Aby zrobić to, co sugerujesz, pokazując mi te dwa pytania, musiałbym sprawić, że każdy z plików PNG, które osobno przekonwertuję na GIF, będzie przezroczysty i zobaczę, jak korzystam z 60 klatek na GIF, co zajmie trochę czasu, szczególnie jeśli zobaczę, jak to zrobić. z mojego doświadczenia wynika, że ​​każde zdjęcie zajmuje co najmniej 5 minut, ponieważ kolor alfa jest mniej niż idealny i wymaga trochę majstrowania w celu pracy.
BH2017,
1
Nie znam Jmola, ale tutaj jest temat związany z tłem alfa (patrz także tutaj ). Czy eksportowałeś jako PNGT ramki?
Paolo Gibellini,
GIMP może już tworzyć pliki GIF z przezroczystością.
Billy Kerr

Odpowiedzi:

16

Możesz to zrobić za pomocą GIFsicle , używając następujących opcji:

gifsicle -U --disposal=previous --transparent="#ffffff" -O2 anim.gif > anim_trans.gif

gdzie anim.gifi anim_trans.gifsą źródłowymi i docelowymi nazwami plików oraz #ffffffkodem szesnastkowym koloru, który chcesz uczynić przezroczystym (tutaj czysta biel).

(Ważnymi opcjami tutaj są -U/ --unoptimizei --disposal=previous, które razem przekształcają animację w „tryb flipbooka”, w którym każda klatka jest całkowicie usuwana przed narysowaniem kolejnej. Pozwala to na dodanie dodatkowej przezroczystości do klatek bez konieczności wyświetlania wcześniejszych klatek przez przezroczyste części. -O2Opcja nie jest absolutnie niezbędna, ale może zmniejszyć rozmiar pliku wynikowej animacji poprzez optymalizację ramek, aby uniknąć niepotrzebnego ponownego rysowania statycznych części animacji.)

Dla pokazu, oto animacja enzymu ludzkiej glioksalazy I (GLO1) z Wikimedia Commons (po lewej) i ta sama animacja z przezroczystością dodana przy użyciu metody pokazanej powyżej (po prawej):

Oryginalna animacja z białym tłem Zmodyfikowana animacja z przezroczystym tłem
Oryginalna animacja autorstwa użytkownika Wikimedia Commons WillowW , wykorzystana na licencji CC-By 3.0 .

Należy zwrócić uwagę na jeden szczegół: jeśli polecenie GIFsicle nie wydaje się mieć żadnego efektu, należy sprawdzić, czy kolor tła jest naprawdę poprawny. Na przykład w przypadku animacji pokazanej powyżej rzeczywisty kolor tła okazał się #fdfffc(tj. Bardzo lekko żółto-zielonkawo biały), a nie #ffffff(czysta biel). Nie da się tak naprawdę odróżnić wzrokowo (a przynajmniej nie mogę tego zrobić na tym ekranie), ale wystarczy, żeby GIFsicle rozważył te dwa kolory inaczej.

Należy również pamiętać, że pliki GIF obsługują tylko 1-bitową przezroczystość, co oznacza, że ​​krawędzie przezroczystych obszarów nie będą wygładzane. Jest to OK, o ile tło, na którym wyświetlana jest animacja, nie jest zbyt dalekie od oryginalnego koloru tła, ale jeśli tak, może się okazać, że wokół krawędzi animacji będą brzydkie kolorowe obwódki. Niestety niewiele można na to poradzić, oprócz wybrania bardziej odpowiedniego tła lub ponownego renderowania animacji.

Ilmari Karonen
źródło
Czy masz oprogramowanie przyjazne dla systemu Windows 7 zamiast gifsicle, którego mógłbym zamiast tego użyć? Próbowałem zainstalować Win32 i 64 binarne (używam 64-bitowego systemu Windows 7, z linku na oficjalnej stronie gifsicle) i żadne z nich nie działało. Po prostu pojawił się wiersz polecenia, na sekundę, a następnie ten monit został zamknięty. Od tego czasu otworzyłem wiersz poleceń (rozumiem, że gifsicle jest edytorem opartym na wierszu poleceń) i wkleiłem twoje polecenia (z rzeczywistymi nazwami plików, ofc) i dał pusty plik z ostrzeżeniem, że gifsicle nie został rozpoznany w moim systemie.
BH2017,
Hmm ... próbowałeś użyć wiersza polecenia i podać pełną ścieżkę do pliku gifsicle.exe? Czy może cddo folderu, w którym zainstalowałeś gifsicle, i uruchomić stamtąd polecenie? Lub dodając ten folder do swojego%PATH% ?
Ilmari Karonen,
cd- do katalogu, uruchomienie tego polecenia działało idealnie bez żadnych problemów, dlatego zaakceptuję twoją odpowiedź.
BH2017,
1

Spróbuj http://www.gifmagic.com

To bardzo łatwe.

Wybierz: 1) edytuj

2) przejrzystość

3) dodaj i

4) wybierz obszar, który chcesz zastosować.

Dchris
źródło
1

Podobnie jak GIFsicle i GIFmagic, EzGIF to internetowy zestaw narzędzi GIF, który (między innymi) pozwala ci to zrobić:

  1. Wybierz „Efekty”
  2. prześlij GIF
  3. następnie użyj pola „Zamień kolor na przezroczysty”
  4. i aplikuj

(Możesz także zoptymalizować wynik, jeśli chcesz)

danicotra
źródło
0

Jeśli masz imagemagick, możesz uruchomić polecenie convert input.gif -transparent white output.gifw terminalu.

użytkownik1964638
źródło
Czy możesz wyjaśnić, co robi to polecenie? Szukamy dłuższych odpowiedzi z wyjaśnieniem, a nie z jednej linijki. Poza tym wygląda na to, że przekształca kolor biały w przezroczysty, więc czy wybierze także wszystko, co jest białe na obrazie?
Luciano
0

Możesz to zrobić bezpośrednio w Photoshopie.

Użyj opcji „Zapisz w sieci” i zapisz jako plik GIF z przezroczystością. Znajdź kolor, który ma być przezroczysty, z tabeli kolorów. Kliknij go, a następnie kliknij przycisk Okrążyłem na czerwono.

Przejrzystość tabeli kolorów

Spowoduje to, że każdy wybrany kolor będzie przezroczysty. Zapisać.

fanfara
źródło