Nykyinen versio |
Oma tekstisi |
Rivi 1: |
Rivi 1: |
| {{pienaakkonen}}
| | Convert on [[ImageMagick]]-pakettiin kuuluva komentoriviohjelma, jota käytetään kuvatiedostojen muuttamiseen muodosta toiseen. Samalla se mahdollistaa myös mm. kuvan koon muuttamisen ja muunkinlaisen kuvankäsittelyn. |
| {{Ohjelma
| |
| | nimi=convert
| |
| | kuva=
| |
| | kuvateksti=
| |
| | lisenssi=[[Apache-lisenssi|Apache 2.0]]
| |
| | käyttöliittymä=teksti
| |
| | kotisivu=[https://imagemagick.org/script/convert.php imagemagick.org/script/convert.php]
| |
| | lähdekoodi=[https://github.com/ImageMagick github.com/ImageMagick]
| |
| }}
| |
| | |
| '''convert''' on [[ImageMagick]]-pakettiin kuuluva [[komentorivi]]ohjelma, jota käytetään kuvatiedostojen muuttamiseen muodosta toiseen. Samalla se mahdollistaa myös mm. kuvan koon muuttamisen ja muunkinlaisen kuvankäsittelyn. <tt>convert</tt> on erityisen hyödyllinen silloin, kun tehdään muutoksia suuriin kuvajoukkoihin.
| |
|
| |
|
| == Käyttö == | | == Käyttö == |
| Ohjelmaa käytetään yleensä yksinkertaisesti muuttamaan kuva muodosta toiseen. Tämä onnistuu yksinkertaisesti komennolla | | Ohjelmaa käytetään yleensä yksinkertaisesti muuttamaan kuva muodosta toiseen. Tämä onnistuu yksinkertaisesti komennolla |
| $ convert lähde kohde | | convert lähde kohde |
| Esimerkiksi <tt>mokki.png</tt> muutettaisiin jpg-muotoon komennolla | | Esimerkiksi <tt>mokki.png</tt> muutettaisiin jpg-muotoon komennolla |
| $ convert mokki.png mokki.jpg | | convert mokki.png mokki.jpg |
| <tt>convert</tt> siis osaa itse päätellä tiedostopäätteen avulla tiedoston muodon, eikä mitään ylimääräisiä [[valitsin|valitsimia]] tarvitse antaa. Tässä on syytä huomata, että <tt>convert</tt> ei myöskään poista alkuperäistä tiedostoa vaan jättää sen koskemattomaksi.
| | Convert siis osaa itse päätellä tiedostopäätteen avulla tiedoston muodon, eikä mitään ylimääräisiä [[valitsin|valitsimia]] tarvitse antaa. Tässä on syytä huomata, että <tt>convert</tt> ei myöskään poista alkuperäistä tiedostoa vaan jättää sen koskemattomaksi. |
| | |
| Mikäli haluat muuttaa suuren määrän tiedostoja muodosta toiseen, kokeile [[mogrify]]-komentoa.
| |
|
| |
|
| ===Koon muuttaminen=== | | ===Koon muuttaminen=== |
| Muunnoksen aikana voidaan myös vaikuttaa mm. kuvan kokoon. Tämä onnistuu <tt>-resize</tt>-valitsimella: esimerkiksi luotava kuva olisi vain puolet alkuperäisen kuvan koosta (esim. 1000x1000 -> 500x500) komennolla | | Muunnoksen aikana voidaan myös vaikuttaa mm. kuvan kokoon. Tämä onnistuu <tt>-resize</tt>-valitsimella: esimerkiksi luotava kuva olisi vain puolet alkuperäisen kuvan koosta (esim. 1000x1000 -> 500x500) komennolla |
| $ convert -resize 50% mokki.png mokki.jpg | | convert -resize 50% mokki.png mokki.jpg |
| Tulevan kuvan koko voidaan antaa myös pikseleinä, esim. | | Tulevan kuvan koko voidaan antaa myös pikseleinä valitsimella <tt>-size</tt>, esim. |
| $ convert -resize 1024x768 mokki.png mokki.tiff
| | convert -size 1024x768 mokki.png mokki.tiff |
| | |
| Luodaan [[Bash]]illä esimerkki, joka muuntaa hakemistollisen kuvia pienemmäksi (70%), sekä lisää copyright-merkinnät kuviin.
| |
| | |
| <syntaxhighlight lang="bash"> | |
| #!/bin/bash
| |
| for a in *.jpg;
| |
| do convert -limit memory 512mb $a -resize 70% -gravity southeast -stroke '#000C' \
| |
| -strokewidth 2 -annotate 0 '(c) Matti Meikäläinen' -stroke none \
| |
| -fill white -annotate 0 '(c) Matti Meikäläinen' $a; \
| |
| done
| |
| </syntaxhighlight> | |
| | |
| ===Läpinäkyvyys===
| |
| Esim. jos haluaa muuttaa taustavärin kuvasta tai logosta läpinäkyväksi, ensiksi esim. [[GIMP]]-kuvankäsittelyohjelmassa, voi etukäteen, ainakin tarkistaa taustavärin [[RGB]]-arvon, ja tai muuttaa halutun taustavärin haluamakseen, kuten allaolevassa esimerkissä läpinäkyväksi halutut alueet on väritetty punaisella, jonka RGB-arvoon viittaamalla vain se väri muuttuu läpinäkyväksi.
| |
| | |
| $ convert kuva_punaisella_taustalla.png -transparent "rgb(180,42,42)" kuva_läpinäkyvällä_taustalla.png | |
| | |
| ===Tekijänoikeus-merkintä valokuviin===
| |
| Yhden kuvan copyright-merkintä tapahtuu komennolla:
| |
|
| |
|
| $ convert kuva.jpg -gravity southeast -stroke '#000C' -strokewidth 2 \
| | ===PDF-asiakirjan tekeminen=== |
| -annotate 0 '(c) Matti Meikäläinen' -stroke none -fill white \
| | Convert mahdollistaa myös usean skannatun sivun muuttamisen yhdeksi [[PDF]]-asiakirjaksi. Luettavuuden vuoksi olisi hyvä jos lähdemateriaalin tarkkuus olisi vähintään 150dpi. |
| -annotate 0 '(c) Matti Meikäläinen' kuva.jpg
| |
| | |
| Luodaan [[Bash-skriptaus|Bashillä]] esimerkki, joka muuntaa hakemistollisen kuvia copyright merkinnällä toiseen kansioon.
| |
| | |
| <syntaxhighlight lang="bash">
| |
| #!/bin/bash
| |
| for a in *.jpg;
| |
| do convert $a -gravity southeast -stroke '#000C' \
| |
| -strokewidth 2 -annotate 0 '(c) Matti Meikäläinen' -stroke none \
| |
| -fill white -annotate 0 '(c) Matti Meikäläinen' merkityt/$a; \
| |
| done
| |
| </syntaxhighlight>
| |
| | |
| Esimerkkiohjelma voidaan tallentaa vaikka nimelle <tt>copyright.sh</tt> ja sille voidaan antaa [[chmod|suoritusoikeudet]] komennolla
| |
| chmod u+rx copyright.sh
| |
| Tämän jälkeen komentojono ajettaisiin komennolla
| |
| ./copyright.sh
| |
| | |
| ===PDF-asiakirjan muunnokset=== | |
| <tt>convert</tt> mahdollistaa myös usean skannatun sivun muuttamisen yhdeksi [[PDF]]-asiakirjaksi. Luettavuuden vuoksi olisi hyvä jos lähdemateriaalin tarkkuus olisi vähintään 150dpi.
| |
|
| |
|
| Jos muunnettavat kuvat ovat samassa hakemistossa ja samassa tiedostomuodossa (esim. jpg), niin muuttaminen onnistuu kyseisessä hakemistossa komennolla | | Jos muunnettavat kuvat ovat samassa hakemistossa ja samassa tiedostomuodossa (esim. jpg), niin muuttaminen onnistuu kyseisessä hakemistossa komennolla |
| $ convert *.jpg mökki-albumi.pdf | | convert *.jpg mökki-albumi.pdf |
| | |
| Mikäli PDF tiedosto halutaan muuntaa kuvaksi on kannattaa käyttää valitsinta <tt>-density</tt>, koska oletusresoluutio on niin huono. Valitsimen <tt>-density</tt> arvoksi sopii hyvin 300, joka on riittävän tarkka pienimuotoiseen kuvankäsittelyyn ja lukemiseen.
| |
| $ convert -density 300 asiakirja.pdf asiakirja.png
| |
|
| |
|
| ====Asiakirjan koon pienentäminen==== | | ====Asiakirjan koon pienentäminen==== |
| Mikäli tiedoston koko halutaan pitää mahdollisimman pienenä, voidaan käyttää valitsinta <tt>-monochrome</tt>, joka muuttaa kuvan mustavalkoiseksi. | | Mikäli tiedoston koko halutaan pitää mahdollisimman pienenä voi käyttää liäoptiota <tt>-monochrome</tt>, joka muuttaa kuvan mustavalkoiseksi. |
|
| |
|
| Oletetaan että kyseessä on vaikka monisivuinen skannattu kirje. Ensin muutetaan tiedostot mustavalkoiseksi png-kuvaksi. Vaikka kohdetiedosto onkin määritetty muotoon <tt>kirje.png</tt>, syntyy muunnoksessa useita tiedostoja (kirje-1.png, kirje-2.png... jne) | | Oletetaan että kyseessä on vaikka monisivuinen skannattu kirje. Ensin muutetaan tiedostot mustavalkoiseksi png-kuvaksi. Vaikka kohdetiedosto onkin määritetty muotoon <tt>kirje.png</tt>, syntyy muunnoksessa useita tiedostoja (kirje-1.png, kirje-2.png... jne) |
| $ convert -monochrome *.jpg kirje.png | | convert -monochrome *.jpg kirje.png |
|
| |
|
| Seuraavaksi mustavalkokuvat muutetaan yhdeksi pdf-tiedostoksi | | Seuraavaksi mustavalkokuvat muutetaan yhdeksi pdf-tiedostoksi |
| $ convert *.png kirje.pdf | | convert -monochrome *.png kirje.pdf |
|
| |
|
| Tällä tavalla voidaan saada asiakirjan koko jopa kuusi kertaa pienemmäksi. | | Tällä tavalla voidaan saada asiakirjan koko jopa kuusi kertaa pienemmäksi. |
|
| |
|
| {{Huomautus|Jos muutettavat kuvat ovat hyvälaatuisia (tarkkuus 400dpi tai parempi) ja niitä on paljon (yli 10), vaatii [[PDF]]-tiedoston luominen huomattavasti resursseja tietokoneelta. Lisäksi saatu [[PDF]]-tiedosto on suuri, ellei kyseessä ole mustavalkotiedosto, eli ei sovellu esimerkiksi sähköpostin liitteeksi. Tiedoston koon pitämiseksi pienenä on käytettävä sopivaa kuvaformaattia, vähennettävä tarkkuutta ja muutettava mustavalkoiseksi mikäli mahdollista.}}
| | '''HUOM!''' Jos muutettavat kuvat ovat png-muodossa, ne ovat hyvälaatuisia (tarkkuus 400dpi tai parempi) ja niitä on paljon (yli 10), vaatii [[PDF]]-tiedoston luominen huomattavasti resursseja tietokoneelta. Lisäksi saatu [[PDF]]-tiedosto on suuri, ellei kyseessä ole mustavalkotiedosto, eli ei sovellu esimerkiksi sähköpostin liitteeksi. Siksi kannattaakin käyttää jotain muuta lähdeformaattia kuin png:tä. |
| | |
| Nyrkkisääntönä voi pitää että:
| |
| * PNG-formaatti on hyvä tiedostoille joissa on paljon laajoja yksivärisiä alueita, esimerkiksi: laskut ja mustavalkomuunnetut asiakirjat.
| |
| * JPG-formaatti on hyvä tiedostoille joissa on paljon värejä ja sävyjä, esimerkiksi: kuvat ja skannaukset.
| |
| | |
| === Rajaaminen ===
| |
| <tt>convert</tt> mahdollistaa myös kuvien rajaamisen komentoriviltä. Rajaaminen onnistuu käyttämällä [https://www.imagemagick.org/script/command-line-options.php#crop -crop] vipua.
| |
| Ensiksi määritetään uuden kuvan koko ja sitten rajaamisen lähtöpiste.
| |
| | |
| Vivun rakenne:
| |
| {|<!--taulukon määrite--> style="text-align:center"
| |
| !
| |
| ! toiminto
| |
| ! leveys
| |
| !
| |
| ! korkeus
| |
| !
| |
| ! etäisyys vasemmasta reunasta
| |
| !
| |
| ! oikeasta reunasta
| |
| !
| |
| |-
| |
| <!-- taulukko alkaa tästä -->
| |
| | || -crop|| 800 || x || 600 || + || 100 || + || 200
| |
| |-
| |
| |}
| |
| | |
|
| |
| Jos lähtöpistettä ei ole määritetty, niin <tt>convert</tt> jakaa kuvan määritelmän kokoisiin paloihin.
| |
| | |
| Esim.
| |
| $ convert mokki.png +repage -crop 800x600+100+200 mokki.png
| |
| Komento rajaa alkuperäisestä kuvasta 800x600 pikselin kokoisen alueen, jonka vasen yläreuna 100 pikseliä oikealla ja 200 pikseliä alhaalla. Optio <tt>+repage</tt> pyyhkii pois virtuaalisen pohjan ja on siksi hyödyllinen käsiteltäessä gif- ja joitain png-kuvia.
| |
| | |
| === Kääntäminen ===
| |
| Joissain tapauksissa on järkevää kääntää kuvaa ruudun tasossa. <tt>convert</tt> mahdollistaa kuvan kääntämisen pystyyn valitsimen [https://www.imagemagick.org/script/command-line-options.php#rotate -rotate] avulla.
| |
| | |
| <tt>-rotate</tt> käntää kuvaa ruudulla osoitetun asteluvun verran. Ehtomerkkejä <tt> < > </tt> käytettäessä, on hyvä käyttää myös lainausmerkkejä, jotta komentotulkki ei tulkitse komentoa väärin.
| |
| | |
| {|<!--taulukon määrite--> style="text-align:left"
| |
| !
| |
| ! Ohjausmerkki
| |
| ! Toiminnon kuvaus
| |
| |-
| |
| <!-- taulukko alkaa tästä -->
| |
| | |
| | || + || Kääntää kuvaa myötäpäivään
| |
| |-
| |
| | || - || Kääntää kuvaa vastapäivään
| |
| |-
| |
| | || > || Kääntää kuvaa vain, jos leveys on korkeutta suurempi
| |
| |-
| |
| | || < || Kääntää kuvaa vain, jos korkeus on leveyttä suurempi
| |
| |-
| |
| |}
| |
| | |
| esimerkiksi
| |
| | |
| $ convert -rotate "-90>" kukka.jpg pysty-kukka.jpg
| |
| | |
| Komento kääntää kuvaa vastapäivään 90-astetta vain, jos alkuperäisen kuvan leveys on korkeutta suurempi.
| |
| | |
| {{Huomautus|Suuria kuvajoukkoja käsiteltäessä, sekä isoa [[PDF]]-tiedostoa luotaessa voi helposti ongelmaksi tulla muistin määrän riittämättömyys, koska <tt>convert</tt> yrittää käsitellä kaikkia muunnoksia kerralla. Oireena on järjestelmän hidastuminen ja yleensä Linux [[kill|tappaa]] [[prosessi]]n kesken.}}
| |
| | |
| Vaihtoehtona on rakentaa skripti, joka käsittelee jokaisen kuvan yksitellen, lisätä lisää muistia koneeseen tai käyttää valitsinta [https://www.imagemagick.org/script/command-line-options.php#limit -limit].
| |
| | |
| Lisää Imagemagic-komentojonojen kirjoittamisesta löytyy [https://foorumi.linux.fi/t/image-magick-kuvien-massakasittely/500/2 Linux.fin keskustelupalstan viestiketjusta].
| |
| | |
| Esimerkiksi muunnettaessa kuvia toiseen formaattiin voi olla hyödyllistä estää <tt>convert</tt>ia rohmuamasta kaikkea muistia käyttämällä valitsinta <tt>-limit</tt>:
| |
| $ convert -limit memory 512mb *.jpg albumi.png
| |
| | |
| Käytössä olevat rajoitukset saa näkyviin komennolla:
| |
| $ convert -list resource
| |
| | |
| Mahdolliset rajoituskohteet:
| |
| {|<!--taulukon määrite--> style="text-align:left"
| |
| !
| |
| ! Valitsin
| |
| ! Vaihtoehto
| |
| ! Oletuskoko
| |
| !
| |
| ! Vaikutus
| |
| |-
| |
| <!-- taulukko alkaa tästä -->
| |
| | || -limit|| || || ||
| |
| |-
| |
| | || || area || ? || ---- || ? ||
| |
| |-
| |
| | || || disk || ääretön || ---- || rajoittaa välimuistina käytettävän tiedoston kokoa ||
| |
| |-
| |
| | || || file || 768kpl || ---- || rajoittaa käsiteltävien tiedostojen määrää || ||
| |
| |-
| |
| | || || map || 4046MB || ---- || rajoittaa [[swap]]-osion käyttöä || ||
| |
| |-
| |
| | || || memory || 1024MB || ---- || rajoittaa keskusmuistin varauksen kokoa || ||
| |
| |-
| |
| |}
| |
|
| |
|
| == Katso myös == | | == Katso myös == |
Rivi 189: |
Rivi 37: |
|
| |
|
| == Aiheesta muualla == | | == Aiheesta muualla == |
| Täydellinen lista komennolle annettavista parametreistä löytyy [https://www.imagemagick.org/script/convert.php ImageMagickin dokumentaatiosta]. | | Täydellinen lista komennolle annettavista parametreistä löytyy [http://www.imagemagick.org/script/convert.php ImageMagickin dokumentaatiosta]. |
|
| |
|
| {{ImageMagick}} | | {{ImageMagick}} |