ImageMagick é uma aplicação que permite manipular imagens através da linha de comando e que se aplica a praticamente todos os formatos. Com ele também é possível automatizar as ações sobre as imagens contidas em uma pasta (conversão, redimensionamento, etc ...)
Vamos ver uma lista de comandos úteis do ImageMagick:
Obtenha informações de uma imagem.
identify -ping image.png
Obtenha ainda mais informações.
identify -verbose image.png
Conheça a lista de cores usadas em uma imagem.
identify -list color image.png
Converter uma imagem PNG para JPG
convert image.png image.jpg
Converta uma imagem PNG para JPG indicando a qualidade da conversão.
convert -quality 96 image.png image.jpg
Converta todas as imagens PNG para JPG contidas em uma pasta
mogrify -format png *.jpg
Converta todas as imagens (* .jpg, * .png) em PDF
convert images*.* archivo.pdf
Redimensionar uma imagem
convert -resize 48×48 image.png image-mini.png
Redimensionar todas as imagens em uma pasta
mogrify -resize 48×48 *.png
Redimensione uma imagem especificando a largura
convert -resize 620x image.png image-620.png
Redimensione uma imagem especificando a altura
convert -resize x100 image.png image-100.png
Crie um Favicon
convert -colors 256 -resize 16×16 image.jpg favicon.ico
Converter uma imagem colorida em preto e branco
convert -type image.jpg image-noir-blanc.jpg
Adicionar uma borda transparente de 1 pixel ao redor de uma imagem
convert -bordercolor Transparent -border 1×1 image.png image-borde.png
Adicionar uma borda preta de 10 pixels ao redor de uma imagem
convert -bordercolor #000000 -border 10×10 image.png image-borde.png
Crie um negativo de uma imagem
convert -negate image.png image-negate.png
Girar uma imagem verticalmente
convert -flip image.png image-inversee.png
Girar uma imagem da esquerda para a direita
convert -flop image.png image-inversee.png
Use a GUI do ImageMagick
display image.png
você está usando o mogrify ?? veja o exemplo no post.
Felicidades! Paulo.
Você copiou e colou?
Ele coloca a letra 'x' em vez do sinal de '×' que o editor de texto coloca na página.
lembranças
Ruben
Olá
Estou testando e está tudo bem, mas o comando para criar um favicon não funciona para mim, este é o erro que ele me dá:
convert: argumento inválido para a opção `-resize ': 16 × 16 @ error / convert.c / ConvertImageCommand / 2343.
lembranças
o que é um terminal
Muito boa seleção de comandos e clareza na sintaxe. Anteriormente, eu tinha muitos problemas tentando usar o convert para redimensionar um lote de imagens e agora que uso o mogrify para o mesmo propósito, tudo deu certo. Muito obrigado Pablo.
Uma pequena contribuição para este post brilhante!
Para converter para P&B:
converter -imagem monocromática.png imagem-bw.png
lembranças
Obrigado pela contribuição!
Abraço! Paulo
Olá, tenho visto essas informações em muitos sites!
Pergunta: Como posso escalar para outro diretório?
Exemplo: convert -scale 50% -quality 80% * .jpg> scaling /
O exemplo não funciona, como deveria ser de uma pasta x para uma subpasta x / dimensionada?
De antemão muito obrigado!
Fiz um script para ele e os modificados são salvos em outra pasta.
Coloco o script dentro da pasta onde tenho todas as imagens que desejo modificar e o executo a partir do console (o arquivo deve ter permissão de execução). O código que vou colocar a seguir, você cola em um arquivo e dá o nome que quiser (coloquei .sh no final para saber que é um script apenas lendo o nome do arquivo).
Eu copio e colo o código caso isso ajude você:
#! / Bin / bash
### Alterar o tamanho de uma imagem indicando a largura e qualidade
# convert -quality 86 -resize 620x image.png image-620.png
### Altere o tamanho de uma imagem indicando a altura e qualidade
# convert -quality 86 -resize x100 image.png image-100.png
+ Info: https://blog.desdelinux.net/como-manipular-imagenes-desde-el-terminal/
#
# =================================================== == ============
DIRETÓRIO =
pwd
cd $ DIRECTORY
resized_directory = »resized_img»
$ (mkdir "$ resized_directory" 2> / dev / null)
TEMP = »img_list» # arquivo temporário interno
#
#lista de imagens de diretório em um arquivo temporário
ls * .png 2> / dev / null >> $ resized_directory / $ TEMP; ls * .PNG 2> / dev / null >> $ resized_directory / $ TEMP;
ls * .jpg 2> / dev / null >> $ resized_directory / $ TEMP; ls * .JPG 2> / dev / null >> $ resized_directory / $ TEMP;
ls * .jpeg 2> / dev / null >> $ resized_directory / $ TEMP; ls * .JPEG 2> / dev / null >> $ resized_directory / $ TEMP;
ls * .gif 2> / dev / null >> $ resized_directory / $ TEMP; ls * .GIF 2> / dev / null >> $ resized_directory / $ TEMP
#
#changing images dentro do diretório
echo -n "Processando, por favor aguarde"
enquanto lê a imagem
do
echo -n "."
convert -quality 90 -resize 1000x $ image $ resized_directory / $ image
concluído <$ resized_directory / $ TEMP
jogou fora ""
#
# apague o arquivo temporário
rm $ resized_directory / $ TEMP
echo "concluído com sucesso"
obrigado muito bom