Quindi, ho realizzato questa animazione in un programma, tuttavia, non sembra supportare l'esportazione come sequenza PNG, quindi potrei convertirla in una GIF. L'animazione è di oltre 100 fotogrammi, quindi il salvataggio di ogni immagine una per una richiederà anni. Tuttavia, supporta l'esportazione come "striscia", che è come un film. Ogni immagine nell'animazione ha le stesse dimensioni. Ecco come funziona la funzione "striscia" del programma.
Le immagini nell'animazione sono impilate orizzontalmente, il primo fotogramma è l'estrema sinistra mentre l'ultimo fotogramma è l'estrema destra. Non ci sono spazi vuoti tra i fotogrammi e il nome del file di solito è "name_stripX.png" se l'animazione ha X fotogrammi. Se ogni fotogramma fosse 32 per 32 e l'animazione avesse 8 fotogrammi, questo file avrebbe una larghezza di 256 e un'altezza di 32.
Ecco alcuni esempi di output, ogni colore riempie un frame:
Inoltre, tanto per chiarire un po' di più, il programma si chiama "Game Maker 8.0".
Risposta accettata:
Puoi usare ImageMagick per convertire le immagini in vari modi e dovrebbe essere in grado di farlo abbastanza facilmente. Per prima cosa puoi dividere in parti (original.png
essendo l'immagine sorgente, e in questo caso di dimensioni 32x32 pixel):
convert original.png -crop 32x32 parts-%02d.png
Puoi quindi convertirlo in un'animazione (usa -loop 1
se non vuoi che si ripeta):
convert -loop 0 -page +0+0 ./parts*.png output.gif
Risultato:
I PNG di output del primo comando hanno un offset incluso, quindi senza -page +0+0
opzione l'animazione finisce come:
Ci sono diverse altre opzioni che puoi includere (principalmente nel secondo comando), come -delay
ecc – puoi anche ottimizzare l'animazione in modo che sia più piccola (e più veloce da caricare/renderizzare) – ad es. preso in prestito da qui:
convert output.gif -fuzz 10% -layers Optimize optimised.gif
o usando gifsicle
gifsicle -O output.gif -o optimised.gif
MODIFICA: Se le cornici sono trasparenti, puoi impostare le cornici da sostituire aggiungendo lo -dispose Background
opzione, quindi quando un frame viene eliminato quando viene caricato il successivo:
Il problema è che probabilmente non puoi ottimizzare molto l'immagine risultante, quindi un altro modo potrebbe essere quello di rendere i fotogrammi opachi in modo che il fotogramma successivo copra il precedente.
Correlati:elettrico:convertire luce notturna + presa commutata in presa non commutata?