Utilia

GIF u frejmove (PNG)

Razdvoji animirani GIF na pojedinačne PNG frejmove, pogledaj trajanje i odlaganje svakog frejma i preuzmi jedan ili sve u ZIP-u. Besplatno, bez slanja.

Kako izdvojiti frejmove iz GIF-a

  1. Ispusti GIF u zonu za ispuštanje ili klikni na nju da ga odabereš. Rade i animirani i statični GIF-ovi.
  2. Alat čita datoteku i prikazuje Originalna animacija pored Dimenzije, broja Frejmovi, Ukupno trajanje i postavke Ponavljanje.
  3. Svaki frejm se pojavljuje u mreži sa svojim brojem, trajanjem i načinom odlaganja. Prozirna područja prikazana su preko šahovskog uzorka.
  4. Odaberi šta opcija Frejmovi izdvaja: Puni frejmovi (kako se prikazuju) daje svaki frejm tačno onako kako ga preglednik prikazuje u tom trenutku; Sirovi dijelovi frejmova (samo promijenjeno područje) daje male pravougaonike spremljene u datoteci.
  5. Klikni PNG ispod frejma da sačuvaš samo taj frejm, ili Preuzmi sve (ZIP) da dobiješ sve frejmove u jednoj arhivi, sa numerisanim imenima poput cat-frame-007.png.

Zašto su važni „puni frejmovi“

GIF animacija rijetko čuva kompletnu sliku za svaki frejm. Da bi datoteke ostale male, većina kodera prvi frejm sprema cijeli, a zatim samo pravougaonik koji se promijenio, često sa prozirnim pikselima tamo gdje se ništa nije pomjerilo. Naivan izdvajač koji spremi te pravougaonike daje poderane, napola prazne slike.

Ovaj alat rekonstruiše svaki frejm onako kako to radi preglednik. Drži platno veličine logičkog ekrana, crta pravougaonik svakog frejma na njegovu poziciju, a zatim primjenjuje način odlaganja frejma prije crtanja sljedećeg:

  • nema ili zadrži (metode 0 i 1): slika ostaje kakva jeste, a sljedeći frejm se crta preko nje.
  • očisti (metoda 2, „vrati na pozadinu“): pravougaonik frejma se briše. Kao i aktuelni preglednici, alat ga briše do prozirnosti, a ne do boje pozadine spremljene u datoteci.
  • vrati prethodno (metoda 3): platno se vraća u stanje prije crtanja frejma.

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

Sirovi dijelovi korisni su u drugim slučajevima: za provjeru kako je koder optimizovao datoteku, za izdvajanje tačnih dijelova spritea ili za otklanjanje grešaka u animaciji koja treperi.

Trajanje frejmova i ukupno trajanje

Svaki frejm čuva svoje trajanje u stotinkama sekunde, ovdje prikazano u milisekundama. Mnogi GIF-ovi koriste trajanje od 0 ili 10 ms; preglednici ne prikazuju frejmove tako brzo nego ih drže 100 ms. Mreža takve frejmove označava sa „pušta se na 100 ms“, a Ukupno trajanje sabira trajanja onako kako ih preglednici zaista reproduciraju.

Vrijednost Ponavljanje dolazi iz NETSCAPE proširenja: Beskonačno za petlju bez kraja, broj ponavljanja, ili Pušta se jednom kad datoteka nema blok za ponavljanje.

Ograničenja i privatnost

GIF se dekodira u cijelosti u tvom pregledniku; ništa se ne šalje na server. Veoma velike animacije (stotine frejmova u visokoj rezoluciji) traže mnogo memorije: iznad 400 miliona piksela ukupno alat traži da koristiš manju datoteku. Frejmovi se spremaju kao PNG bez metapodataka.

Česta pitanja

Zašto su neki izdvojeni frejmovi samo djelimično nacrtani?

To se dešava uz opciju Sirovi dijelovi frejmova (samo promijenjeno područje): GIF koderi često spremaju samo dio koji se promijenio. Prebaci na Puni frejmovi (kako se prikazuju) da dobiješ kompletne slike.

Mogu li dobiti frejmove kao JPG?

Alat sprema PNG da zadrži prozirnost i tačne boje. Ako ti treba JPG, PNG datoteke naknadno pretvori pretvaračem formata slika.

Zašto se ukupno trajanje razlikuje od drugih programa?

Trajanje koristi vrijeme preglednika, u kojem se trajanja od 0 i 10 ms reproduciraju na 100 ms. Neki uređivači prikazuju sirove spremljene vrijednosti, što daje kraće ukupno trajanje.

Radi li sa statičnim GIF-ovima?

Radi. Statični GIF ima jedan frejm koji možeš sačuvati kao PNG.

Kako frejmove ponovo pretvoriti u animaciju?

Po potrebi uredi frejmove, pa ih učitaj u pravljenje GIF-ova ispravnim redoslijedom i postavi trajanje svakog frejma.