Como converter uma tira de PNG para um gif? -- nvert campo com image-processing camp askubuntu Relacionado O problema

How to convert a PNG strip to a GIF?


12
vote

problema

português

Então, fiz esta animação em um programa, no entanto, não parece suportar a exportação como uma sequência PNG para que eu possa convertê-la a um gif. A animação é mais de 100 quadros, então economiza cada imagem, um por um terá idades. No entanto, suporta a exportação como uma "tira", que é como um filme de filmes. Cada foto na animação tem as mesmas dimensões. Veja como o recurso "Strip" do programa funciona.

As imagens na animação são empilhadas horizontalmente, sendo o primeiro quadro à esquerda, enquanto o último quadro está longe da direita. Não há lacunas entre quadros, e o nome do arquivo geralmente é "name_stripx.png" se a animação tiver x frames. Se cada quadro foi 32 por 32 e a animação tinha 8 quadros, este arquivo teria uma largura de 256 e uma altura de 32.

Aqui está algum exemplo de saída, cada cor preenche um quadro:

Exemplo de saída

Além disso, apenas para limpar as coisas um pouco mais, o programa é chamado "Game Maker 8.0".

english

So, I made this animation in a program, however, it doesn't seem to support exporting as a PNG sequence so I could convert it to a GIF. The animation is over 100 frames so saving each image one-by-one will take ages. However, it supports exporting as a "strip", which is like a movie film. Each picture in the animation has the same dimensions. Here's how the program's "strip" feature works.

The images in the animation are stacked horizontally, the first frame being the far left while the last frame being the far right. There are no gaps between frames, and the file name usually is "name_stripX.png" if the animation has X frames. If each frame was 32 by 32 and the animation had 8 frames, this file would have a width of 256 and a height of 32.

Here is some example output, each color fills in one frame:

Example Output

Also, just to clear things up a little bit more, the program is called "Game Maker 8.0."

     

Lista de respostas

16
 
vote
vote
Melhor resposta
 

Você pode usar ImageMagick Para converter imagens de maneiras variadas, e deve ser capaz de isso facilmente. Primeiro você pode dividir para partes ( original.png sendo a imagem de origem e, neste caso, 32x32pixels em tamanho):

  convert original.png -crop 32x32 parts-%02d.png    

Você pode convertê-lo em uma animação (use -loop 1 se você não quiser loop):

  convert -loop 0 -page +0+0 ./parts*.png output.gif    

resultando:

.

Os PNGs de saída do primeiro comando têm um deslocamento incluído neles, portanto, sem o -page +0+0 opção a animação acaba como:

.

Existem variações outras opções que você pode incluir (principalmente no segundo comando), como -delay etc - Você também pode otimizar a animação Então é menor (e mais rápido para carregar / render) - por exemplo emprestado de aqui :

  convert output.gif -fuzz 10% -layers Optimize optimised.gif    

ou usando gifsicle

  gifsicle -O output.gif -o optimised.gif    

edit: Se os quadros são transparentes, você poderá definir os quadros para substituir adicionando o
abcdefghijklmn4 opção, portanto, quando um quadro é descartado O próximo é carregado:

.


exemplo acima sem o page opção para que ele mostre claramente

O problema com isso é que você provavelmente não pode otimizar a imagem resultante muito então - então outra maneira pode ser para tornar os quadros opacos, então o próximo quadro cobre o anterior.

 

You can use ImageMagick to convert images in varying ways, and it should be able to this quite easily. First you can split up into to parts (original.png being the source image, and in this case 32x32pixels in size):

convert original.png -crop 32x32 parts-%02d.png 

You can then convert it into a animation (use -loop 1 if you don't want it to loop):

convert -loop 0 -page +0+0 ./parts*.png output.gif 

Resulting in:

The output PNGs of the first command have a offset included in them, so without the -page +0+0 option the animation ends up like:

There are varying other options you can include (mainly in the second command), such as -delay etc - you can also optimize the animation so it is smaller (and faster to load/render) - e.g. borrowed from here:

convert output.gif -fuzz 10% -layers Optimize optimised.gif 

or using gifsicle

gifsicle -O output.gif -o optimised.gif 

EDIT: If the frames are transparent, you can set the frames to replace by adding the
-dispose Background option, so when a frame is disposed of when the next one is loaded:


Example above done without the page option so it shows clearly

The problem with this is you probably can't optimize the resulting image much then - so another way may be to make the frames opaque so the next frame covers the previous.

 
 
     
     

Perguntas relacionadas

2  Como faço para redimensionar facilmente um papel de parede para a minha tela?  ( How do i easily resize a wallpaper for my screen ) 
Eu gosto de usar papéis de parede de interfacelift mas não todos os papéis de parede são meus Resolução da tela e eu estava me perguntando qual seria o melh...

45  Como faço para criar destaques em uma captura de tela?  ( How do i create highlights on a screenshot ) 
na resposta de Chipaca para Gerenciando arquivos e cenários de sincronização Screenshot com certos destaques. Os destaques são os seguintes: . Uma linha d...

103  Ferramenta para adicionar formas, anotações e texto usando modelos para imagens  ( Tool to add shapes annotations and text using templates to images ) 
Muitas vezes eu preciso anotar (desenhar algumas flechas, linhas, formas básicas, como quadrados, elipses etc e inserir algum texto) em cima de fotos (imagens...

36  Como posso exportar um PDF do GIMP com cada camada em uma nova página?  ( How can i export a pdf from gimp with each layer on a new page ) 
Eu tenho várias camadas abertas no GIMP. Eu gostaria de exportar um PDF que tenha cada camada em uma nova página. ...

0  Exportações cruas erradas (Photivo, Rawterapee)  ( Raw exports wrong photivo rawtherapee ) 
Eu estou usando o Ubuntu 13.10. Comecei a filmar minhas imagens em Raw (NEF) e baixei PhotoVo para processá-los. Enquanto trabalhava em Photivo, tudo está bem...

1  Como a parte específica aberta da figura .png no terminal do Ubuntu?  ( How open specific part of png figure in ubuntus terminal ) 
Situação: Iniciar a navegação das figuras na largura 1: 960 e altura completa no terminal Motivação: o visualizador de imagem padrão do Ubuntu abre a figura ...

3  Não é possível instalar o módulo CPAN GD  ( Cant install cpan module gd ) 
Como eu não consegui instalar imagem :: Magick no meu servidor não-Gui Ubuntu Ubuntu 14.04.2 lts (leia sobre ele Aqui ), tentei instalar outra ferramenta de ...

0  Existe uma ferramenta de linha de comando para smush.it?  ( Is there a command line tool for smush it ) 
Existe uma ferramenta de linha de comando para o smush.it Webservice? Eu sei que há um jarro que você pode baixar. Mas eu estou procurando por algo que eu...

3  Visualizador de imagem bruta com capacidade de classificação?  ( Raw image viewer with rating capability ) 
Um visualizador de imagem que . pode exibir (o JPG incorporado dentro) arquivos RAW. suporta imagens de classificação e pode escrever as classificaçõ...

2  Como adicionar callouts a uma imagem usando um software instalado por padrão no Ubuntu?  ( How to add callouts to an image using a software installed by default in ubuntu ) 
Qual é a maneira mais fácil de adicionar callouts a uma imagem fornecendo as capacidades de um Ubuntu 12.04 padrão? Eu tenho o GIMP 2.6 já presente (embora ...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.