como evito que o comando de conversão do imagemagick, a partir de uma imagem em escala?

1

Estou tentando fazer folhas de sprites com gifs animados. Os sprites são para o meu GPS, e cada quadro precisa ter exatamente 80x80 pixels.

Eu usei este comando:

convert -resize 80x80 input.gif  g.png

que lhe dará N número de quadros de um gif, enumerados como: g-N.png.

O que eu percebi usando o poder do gimp, é que as imagens foram escaladas em algum momento, que é o que eu não quero. Mostrada na figura anexada, é uma seção de 80x80px, onde o sprite a seguir define a área que supostamente é apenas o primeiro sprite.

A próxima linha do meu script é:

convert +append g-*.png $outputFile

que pode ter um papel neste ... não tenho certeza.

Código-fontecompletodoscript:

#!/bin/bash#set-vx#Takesanimageviaanargument,convertsittothespritestylemygpstakes.#PNGimagemustbeexactly2880x150or2881x160pixelsinsize.individualsprites,ar80x80pxmkdir-ptest2rmtest2/*.pngn='identify-format"%n\n" $1 | head -1'
m='expr $n / 2'
outputFile=out'date +%s'.png
#outputFile=out.png
echo  "N: " + $n
echo  "M: " + $m

convert -resize 80x80 $1  test2/g.png
convert +append test2/g-*.png $outputFile
#convert -resize 2880x150 $outputFile
#montage test2/g-$m.png $outputFile
    
por j0h 28.04.2018 / 15:06

1 resposta

1

Ok, acho que entendi Graças a este Unix & Publicação do Exchange na pilha do Linux e lendo sobre a função de extensão no site do imagemagick .

Todas as minhas origens são transparentes, de modo que a dançarina, neste caso, não cobre o mapa. Estender é um ajuste de tamanho de imagem direta, em que o espaço extra é preenchido com uma cor ou transparência e o excesso é truncado.

Alterei o primeiro comando de conversão para:

convert -background none -extent 80x80 $1  test2/g.png

minha saída agora está em conformidade com os requisitos de layout:

    
por j0h 28.04.2018 / 16:11