Como manipular imagens do terminal

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


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Glorfindel dito

    você está usando o mogrify ?? veja o exemplo no post.
    Felicidades! Paulo.

  2.   Ruben Gnu dito

    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

  3.   ainhoaredam dito

    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

  4.   Katerine dito

    o que é um terminal

  5.   Jonathan dito

    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.

  6.   Enrique dito

    Uma pequena contribuição para este post brilhante!

    Para converter para P&B:

    converter -imagem monocromática.png imagem-bw.png

    lembranças

    1.    vamos usar linux dito

      Obrigado pela contribuição!
      Abraço! Paulo

  7.   Moisés Garnica Radilla dito

    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!

    1.    Dezesseis dito

      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"

  8.   linux pro dito

    obrigado muito bom