Utilia

Izdvajanje okvira iz GIF-a

Podijeli animirani GIF na pojedinačne PNG okvire, vidi kašnjenje i odlaganje svakog okvira te preuzmi jedan okvir ili sve u ZIP-u. Besplatno, bez slanja.

Kako izdvojiti okvire iz GIF-a

  1. Povuci GIF na zonu za ispuštanje ili klikni na nju za odabir. Rade i animirani i nepomični GIF-ovi.
  2. Alat čita datoteku i prikazuje Izvorna animacija uz njezine Dimenzije, broj Okviri, Ukupno trajanje i postavku Petlja.
  3. Svaki okvir pojavljuje se u mreži sa svojim brojem, kašnjenjem i načinom odlaganja. Prozirna područja prikazuju se preko šahovnice.
  4. Odaberi što opcija Okviri izdvaja: Puni okviri (kako se prikazuju) daje svaki okvir točno onako kako ga preglednik u tom trenutku prikazuje; Sirovi dijelovi okvira (samo promijenjeno područje) daje male pravokutnike pohranjene u datoteci.
  5. Klikni PNG ispod okvira da spremiš samo taj okvir ili Preuzmi sve (ZIP) da dobiješ sve okvire u jednoj arhivi, s numeriranim imenima datoteka poput cat-frame-007.png.

Zašto su važni „puni okviri“

GIF animacija rijetko pohranjuje cijelu sliku za svaki okvir. Da datoteke ostanu male, većina kodera sprema prvi okvir u cijelosti, a zatim samo pravokutnik koji se promijenio, često s prozirnim pikselima ondje gdje se ništa nije pomaknulo. Naivan alat za izdvajanje koji sprema te pravokutnike daje poderane, napola prazne slike.

Ovaj alat gradi svaki okvir onako kako to radi preglednik. Drži platno veličine logičkog zaslona, crta pravokutnik svakog okvira na njegovu položaju, a zatim primjenjuje način odlaganja okvira prije crtanja sljedećeg:

  • ništa ili zadrži (načini 0 i 1): slika ostaje kakva jest, a sljedeći okvir crta se povrh nje.
  • očisti (način 2, „vrati na pozadinu“): pravokutnik okvira se briše. Kao i aktualni preglednici, alat ga briše do prozirnosti, a ne do boje pozadine pohranjene u datoteci.
  • vrati prethodno (način 3): platno se vraća u stanje prije crtanja okvira.

Rezultat je skup PNG slika koje odgovaraju onome što vidiš dok se GIF reproducira. PNG čuva prozirnost i nikada ne gubi kvalitetu, pa su boje točno one pohranjene u paleti GIF-a.

Sirovi dijelovi korisni su u drugim slučajevima: za uvid u to kako je koder optimizirao datoteku, za oporavak točnih dijelova spritea ili za otklanjanje pogrešaka u animaciji koja treperi.

Kašnjenja okvira i trajanje

Svaki okvir pohranjuje svoje kašnjenje u stotinkama sekunde, ovdje prikazano u milisekundama. Mnogi GIF-ovi koriste kašnjenje od 0 ili 10 ms; preglednici ne reproduciraju okvire tako brzo, nego ih prikazuju 100 ms. Mreža takve okvire označava kao „reproducira se kao 100 ms“, a Ukupno trajanje zbraja kašnjenja onako kako ih preglednici stvarno reproduciraju.

Vrijednost Petlja dolazi iz proširenja NETSCAPE: Beskonačno za beskonačnu petlju, broj ponavljanja ili Reproducira se jednom kad datoteka nema blok petlje.

Ograničenja i privatnost

GIF se u cijelosti dekodira u tvom pregledniku; ništa se ne šalje. Vrlo velike animacije (stotine okvira u visokoj razlučivosti) trebaju puno memorije: iznad ukupno 400 milijuna piksela alat traži da koristiš manju datoteku. Okviri se spremaju kao PNG bez metapodataka.

Česta pitanja

Zašto su neki izdvojeni okviri samo djelomično nacrtani?

To se događa s opcijom Sirovi dijelovi okvira (samo promijenjeno područje): GIF koderi često pohranjuju samo dio koji se promijenio. Prebaci na Puni okviri (kako se prikazuju) da dobiješ potpune slike.

Mogu li okvire dobiti kao JPG?

Alat sprema PNG da sačuva prozirnost i točne boje. Ako trebaš JPG, poslije pretvori PNG datoteke pretvaračem formata slika.

Zašto se ukupno trajanje razlikuje od drugih programa?

Trajanje koristi vremenske vrijednosti preglednika, u kojima se kašnjenja od 0 i 10 ms reproduciraju kao 100 ms. Neki uređivači prikazuju sirove pohranjene vrijednosti, što daje kraći ukupni iznos.

Radi li s nepomičnim GIF-ovima?

Da. Nepomični GIF ima jedan okvir, koji možeš spremiti kao PNG.

Kako okvire pretvoriti natrag u animaciju?

Po potrebi uredi okvire, zatim ih učitaj u izradu GIF-ova pravilnim redoslijedom i postavi kašnjenje svakog okvira.