GNU/Linux >> Znalost Linux >  >> Linux

Převeďte obrázek ve stupních šedi na obrázek alfa kanálu v unixovém prostředí

Dobře. Po spoustě googlování a přečtení více příručky ImageMagick, než mě skutečně zajímá, je zde odpověď. Vzhledem k tomu, že máte obrázek ve stupních šedi s názvem source.png , zde jsou mé příkazy.

Aby černé pixely byly průhledné a zachová bílé pixely tak, jak jsou, spusťte tento příkaz:

 convert source.png -alpha copy -fx '#fff' result.png

Místo toho zprůhlední bílé pixely zatímco černou ponecháte tak, jak je, použijte:

 convert source.png -alpha copy -channel alpha -negate +channel -fx '#000' result.png

Pojďme si tento poslední příkaz vysvětlit trochu důkladněji:

  • convert – Je příkaz ImageMagic (jeden z několika)
  • source.png – Zdrojový obrázek ve stupních šedi.
  • -alpha copy – Zkopírujte obsah předchozího souboru do alfa kanálu.
  • -channel alpha – Určete, že na alfa kanál mají mít vliv pouze následující operátoři.
  • -negate – Invertujte alfa kanál (bude, kvůli předchozímu -chanel alpha neovlivní žádnou jinou část obrázku).
  • +channel – Určete, že pouze následující operátoři by měli ovlivňovat barevné kanály a již ne upravovat alfa kanál. (Toto je výchozí nastavení, a proto jej v prvním, jednodušším příkladu nemusíme poskytovat.)
  • -fx '#000' – Nahraďte obsah barevného kanálu černými pixely. (Kvůli +channel alfa kanál nebude ovlivněn).

Je docela důležité zahrnout poslední -fx jinak si všechny poloprůhledné pixely ve vygenerovaném obrázku zachovají barvy. (Protože jsou tyto pixely napůl průhledné, nemusí to být zřejmé, ale konečný výsledek není takový, jaký by člověk očekával.)

Seznam možností ImageMagick mi přišel docela užitečný.


Linux
  1. Pole v Unix Bourne Shell?

  2. Použití kláves Vi k úpravě příkazů Shell v Unixu?

  3. Rozšíření souborů pro skripty Unix Shell?

  1. Převést soukromý klíč Openssh na soukromý klíč Ssh2?

  2. 4 způsoby provádění skriptu Shell v systému UNIX / Linux

  3. Jak převést výstup shellu Linuxu do HTML?

  1. Jak převést DATE na UNIX TIMESTAMP ve skriptu shellu na MacOS

  2. Převést glyfy TrueType na obrázek PNG?

  3. V shellu převeďte .txt na .csv