Como alternativa: como pego um PNG não quadrado e "preenche" o "restante" da imagem com transparência, para que a imagem quadrada resultante tenha a imagem original centralizada no quadrado?
FINALMENTE, o que eu quero é tirar qualquer imagem de qualquer formato suportado pela GM, de qualquer tamanho, e criar um PNG em escala reduzida (digamos, 40 pixels no máximo para qualquer dimensão), com a proporção de aspecto mantida, com transparência para não quadrado. imagens originais E com uma máscara de transparência 40x40 PNG já preparada aplicada.
Eu já sei como reduzir e manter a proporção; Eu já tenho o comando para aplicar meu composto. Minha única peça que falta é o tamanho quadrado de imagens não quadradas (preenchimento com transparência).
Comando único preferido; cadeia de multi-comando aceitável.
(editar)
Informações adicionais: Aqui está o comando composto que estou usando:
gm composite -compose copyopacity mask.png source-and-target.png source-and-target.png
onde mask.png tem pixels brancos para o que eu quero manter de source-and-target.png e pixels transparentes para o que eu quero remover (e tornar-se transparente) do source-and-target.png.
fonte
composite
?-filter Catrom
antes dathumbnail
opção porque, pela minha experiência, geralmente produz imagens de qualidade superior.Um comando para converter todos os PNGs de uma pasta:
mogrify é um comando do pacote ImageMagick. Você deve criar o diretório de saída primeiro.
fonte
-path resized
a edição dos arquivos no local.gm mogrify
e, em vez de-path resized
, use-create-directories -output-directory resized
Aqui está o que eu acabei escolhendo. Um processo de duas etapas:
Onde mask.png são pixels brancos para o que eu queria manter e pixels transparentes para o que eu queria mascarar (descartar).
fonte