Paano manipulahin ang mga imahe mula sa terminal

Ang ImageMagick ay isang application na nagpapahintulot sa amin na manipulahin ang mga imahe sa pamamagitan ng linya ng utos at ginagamit ito para sa lahat ng mga format. Sa pamamagitan nito, posible ring i-automate ang mga pagkilos sa mga imaheng nakapaloob sa isang folder (conversion, resizing, atbp ...)
Tingnan natin ang isang listahan ng mga kapaki-pakinabang na utos ng ImageMagick:

Kumuha ng impormasyon mula sa isang imahe.

identify -ping image.png

Kumuha ng karagdagang impormasyon.

identify -verbose image.png

Alamin ang listahan ng mga kulay na ginamit sa isang imahe.

identify -list color image.png

I-convert ang isang imahe ng PNG sa JPG

convert image.png image.jpg

I-convert ang isang imahe ng PNG sa JPG na nagpapahiwatig ng kalidad ng conversion.

convert -quality 96 image.png image.jpg

I-convert ang lahat ng mga imahe ng PNG sa JPG na nilalaman sa isang folder

mogrify -format png *.jpg

I-convert ang lahat ng mga imahe (* .jpg, * .png) sa PDF

convert images*.* archivo.pdf

Baguhin ang laki ng isang imahe

convert -resize 48×48 image.png image-mini.png

Baguhin ang laki ang lahat ng mga imahe sa isang folder

mogrify -resize 48×48 *.png

Baguhin ang laki ng isang imahe sa pamamagitan ng pagtukoy sa lapad

convert -resize 620x image.png image-620.png

Baguhin ang laki ng isang imahe sa pamamagitan ng pagtukoy sa taas

convert -resize x100 image.png image-100.png

Lumikha ng isang Favicon

convert -colors 256 -resize 16×16 image.jpg favicon.ico

I-convert ang isang imahe ng kulay sa itim at puti

convert -type image.jpg image-noir-blanc.jpg

Magdagdag ng isang 1 pixel na transparent na hangganan sa paligid ng isang imahe

convert -bordercolor Transparent -border 1×1 image.png image-borde.png

Magdagdag ng isang 10 pixel na itim na hangganan sa paligid ng isang imahe

convert -bordercolor #000000 -border 10×10 image.png image-borde.png

Lumikha ng isang negatibo ng isang imahe

convert -negate image.png image-negate.png

Paikutin ang isang imahe nang patayo

convert -flip image.png image-inversee.png

Paikutin ang isang imahe mula kaliwa hanggang kanan

convert -flop image.png image-inversee.png

Gamitin ang ImageMagick GUI

display image.png


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   luwalhati dijo

    gumagamit ka ng mogrify ?? tingnan ang halimbawa sa post.
    Cheers! Si Paul

  2.   RubenGnu dijo

    Nakopya at nag-paste ka ba?

    Naglalagay ito ng isang letrang 'x' sa halip na mag-sign para sa '×' na inilalagay ng text editor sa pahina.

    Regards

    Rubén

  3.   ainhoaredam dijo

    hoy
    Sinubukan ko ito at mabuti, ngunit ang utos na lumikha ng isang favicon ay hindi gagana para sa akin, ito ang error na ibinibigay nito sa akin:
    convert: hindi wastong argumento para sa pagpipiliang `-resize ': 16 × 16 @ error / convert.c / ConvertImageCommand / 2343.
    tungkol

  4.   si katerine dijo

    ano ang terminal

  5.   Jonathan dijo

    Napakahusay na pagpipilian ng mga utos at kalinawan sa kanilang syntax. Dati nagkaroon ako ng maraming problema sa pagsubok na gamitin ang convert upang baguhin ang laki ng isang pangkat ng mga imahe at ngayon na gumagamit ako ng mogrify para sa parehong layunin na gumana ang lahat nang maayos. Maraming salamat Pablo.

  6.   Manloob dijo

    Isang maliit na kontribusyon sa napakatalino na post na ito!

    Upang mai-convert sa B&W:

    i-convert ang -monochrome na imahe.png imahe-bw.png

    Regards

    1.    gumamit tayo ng linux dijo

      Salamat sa kontribusyon!
      Yakap! Paul

  7.   Moises Garnica Radilla dijo

    Kumusta, nakita ko ang impormasyong ito sa maraming mga website!
    Tanong: Paano ako makakapagsukat sa ibang direktoryo?
    Halimbawa: convert -scale 50% -quality 80% * .jpg> scaling /
    Ang halimbawa ay hindi gumagana, paano ito dapat mula sa isang folder x sa isang subfolder x / scaled?
    Bago pa maraming salamat talaga!

    1.    Labing-anim dijo

      Gumawa ako ng isang script para dito at ang mga nabago ay nai-save sa ibang folder.
      Inilalagay ko ang script sa folder kung saan mayroon ako ng lahat ng mga imahe na nais kong baguhin, at isinasagawa ko ito mula sa console (ang file ay dapat may pahintulot sa pagpapatupad). Ang code na ilalagay ko sa susunod, i-paste mo ito sa isang file at bigyan ito ng pangalan na gusto mo (inilagay ko .sh sa dulo upang malaman na ito ay isang script sa pamamagitan lamang ng pagbabasa ng pangalan ng file).

      Kopyahin at i-paste ko ang code kung sakaling makakatulong ito sa iyo:

      #! / bin / bash
      ### Palitan ang laki ng isang imahe na nagpapahiwatig ng lapad at kalidad
      # convert -quality 86 -resize 620x image.png image-620.png
      ### Palitan ang laki ng isang imahe na nagpapahiwatig ng taas at kalidad
      # convert -quality 86 -resize x100 image.png image-100.png

      + impormasyon: https://blog.desdelinux.net/como-manipular-imagenes-desde-el-terminal/

      #
      # =________________________________________________________ == ====
      DIRECTORY =pwd
      cd $ DIRECTORY
      resized_directory = »resize_img»
      $ (mkdir "$ resize_directory" 2> / dev / null)
      TEMP = »img_list» # panloob na pansamantalang file
      #
      # listahan ng mga imahe ng direktoryo sa isang pansamantalang file
      ls * .png 2> / dev / null >> $ resize_directory / $ TEMP; ls * .PNG 2> / dev / null >> $ resize_directory / $ TEMP;
      ls * .jpg 2> / dev / null >> $ resize_directory / $ TEMP; ls * .JPG 2> / dev / null >> $ resize_directory / $ TEMP;
      ls * .jpeg 2> / dev / null >> $ resize_directory / $ TEMP; ls * .JPEG 2> / dev / null >> $ resize_directory / $ TEMP;
      ls * .gif 2> / dev / null >> $ resize_directory / $ TEMP; ls * .GIF 2> / dev / null >> $ resize_directory / $ TEMP
      #
      # pagbabago ng mga imahe sa loob ng direktoryo
      echo -n "Pagproseso, mangyaring maghintay"
      habang binabasa ang imahe
      do
      echo -n "."
      convert -quality 90 -palitin ang laki ng 1000x $ imahe $ resize_directory / $ imahe
      tapos na <$ resize_directory / $ TEMP
      itinapon ""
      #
      # tanggalin ang pansamantalang file
      rm $ resize_directory / $ TEMP
      echo "matagumpay na nakumpleto"

  8.   linux pro dijo

    salamat talaga