Ero sivun ”Convert” versioiden välillä
p (''') |
p (<source lang=bash>) |
||
Rivi 3: | Rivi 3: | ||
== 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 | ||
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. | 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. | ||
Rivi 12: | Rivi 12: | ||
===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ä, esim. | ||
convert -resize 1024x768 mokki.png mokki.tiff | $ convert -resize 1024x768 mokki.png mokki.tiff | ||
Luodaan [[Bash]]illä esimerkki, joka muuntaa hakemistollisen kuvia pienemmäksi (70%), sekä lisää copyright merkinnät kuviin. | Luodaan [[Bash]]illä esimerkki, joka muuntaa hakemistollisen kuvia pienemmäksi (70%), sekä lisää copyright merkinnät kuviin. | ||
<source lang=bash> | |||
#!/bin/bash | #!/bin/bash | ||
for a in *.jpg; | for a in *.jpg; | ||
Rivi 23: | Rivi 25: | ||
-fill white -annotate 0 '(c) Matti Meikäläinen' $a; \ | -fill white -annotate 0 '(c) Matti Meikäläinen' $a; \ | ||
done | done | ||
</source> | |||
===Copyright merkintä valokuviin=== | ===Copyright merkintä valokuviin=== | ||
Yhden kuvan copyright merkintä tapahtuu komennolla: | Yhden kuvan copyright merkintä tapahtuu komennolla: | ||
convert kuva.jpg -gravity southeast -stroke '#000C' -strokewidth 2 \ | $ convert kuva.jpg -gravity southeast -stroke '#000C' -strokewidth 2 \ | ||
-annotate 0 '(c) Matti Meikäläinen' -stroke none -fill white \ | -annotate 0 '(c) Matti Meikäläinen' -stroke none -fill white \ | ||
-annotate 0 '(c) Matti Meikäläinen' kuva.jpg | -annotate 0 '(c) Matti Meikäläinen' kuva.jpg | ||
Rivi 33: | Rivi 36: | ||
Luodaan [[Bash-skriptaus|Bashillä]] esimerkki, joka muuntaa hakemistollisen kuvia copyright merkinnällä toiseen kansioon. | Luodaan [[Bash-skriptaus|Bashillä]] esimerkki, joka muuntaa hakemistollisen kuvia copyright merkinnällä toiseen kansioon. | ||
<source lang=bash> | |||
#!/bin/bash | #!/bin/bash | ||
for a in *.jpg; | for a in *.jpg; | ||
Rivi 39: | Rivi 43: | ||
-fill white -annotate 0 '(c) Matti Meikäläinen' merkityt/$a; \ | -fill white -annotate 0 '(c) Matti Meikäläinen' merkityt/$a; \ | ||
done | done | ||
</source> | |||
Esimerkkiohjelma voidaan tallentaa vaikka nimelle <tt>copyright.sh</tt> ja sille voidaan antaa [[chmod|suoritusoikeudet]] komennolla | Esimerkkiohjelma voidaan tallentaa vaikka nimelle <tt>copyright.sh</tt> ja sille voidaan antaa [[chmod|suoritusoikeudet]] komennolla | ||
chmod u+rx copyright.sh | chmod u+rx copyright.sh | ||
Rivi 48: | Rivi 54: | ||
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. | 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 | $ convert -density 300 asiakirja.pdf asiakirja.png | ||
Rivi 59: | Rivi 65: | ||
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 *.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. | ||
Rivi 98: | Rivi 104: | ||
Esim. | Esim. | ||
convert mokki.png +repage -crop 800x600+100+200 mokki.png | $ 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. | 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. | ||
Rivi 124: | Rivi 130: | ||
|} | |} | ||
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. | $ 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. | |||
== HUOM! == | == HUOM! == | ||
Rivi 136: | Rivi 144: | ||
Esimerkiksi muunnettaessa kuvia toiseen formaattiin voi olla hyödyllistä estää convertia rohmuamasta kaikkea muistia käyttämällä valitsinta <tt>-limit</tt>: | Esimerkiksi muunnettaessa kuvia toiseen formaattiin voi olla hyödyllistä estää convertia rohmuamasta kaikkea muistia käyttämällä valitsinta <tt>-limit</tt>: | ||
convert -limit memory 512mb *.jpg albumi.png | $ convert -limit memory 512mb *.jpg albumi.png | ||
Käytössä olevat rajoitukset saa näkyviin komennolla: | Käytössä olevat rajoitukset saa näkyviin komennolla: | ||
convert -list resource | $ convert -list resource | ||
Mahdolliset rajoituskohteet: | Mahdolliset rajoituskohteet: |
Versio 29. tammikuuta 2016 kello 08.21
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. Convert on erityisen hyödyllinen silloin, kun tehdään muutoksia suuriin kuvajoukkoihin.
Käyttö
Ohjelmaa käytetään yleensä yksinkertaisesti muuttamaan kuva muodosta toiseen. Tämä onnistuu yksinkertaisesti komennolla
$ convert lähde kohde
Esimerkiksi mokki.png muutettaisiin jpg-muotoon komennolla
$ convert mokki.png mokki.jpg
Convert siis osaa itse päätellä tiedostopäätteen avulla tiedoston muodon, eikä mitään ylimääräisiä valitsimia tarvitse antaa. Tässä on syytä huomata, että convert 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
Muunnoksen aikana voidaan myös vaikuttaa mm. kuvan kokoon. Tämä onnistuu -resize-valitsimella: esimerkiksi luotava kuva olisi vain puolet alkuperäisen kuvan koosta (esim. 1000x1000 -> 500x500) komennolla
$ convert -resize 50% mokki.png mokki.jpg
Tulevan kuvan koko voidaan antaa myös pikseleinä, esim.
$ convert -resize 1024x768 mokki.png mokki.tiff
Luodaan Bashillä esimerkki, joka muuntaa hakemistollisen kuvia pienemmäksi (70%), sekä lisää copyright merkinnät kuviin.
#!/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
Copyright merkintä valokuviin
Yhden kuvan copyright merkintä tapahtuu komennolla:
$ convert kuva.jpg -gravity southeast -stroke '#000C' -strokewidth 2 \ -annotate 0 '(c) Matti Meikäläinen' -stroke none -fill white \ -annotate 0 '(c) Matti Meikäläinen' kuva.jpg
Luodaan Bashillä esimerkki, joka muuntaa hakemistollisen kuvia copyright merkinnällä toiseen kansioon.
#!/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
Esimerkkiohjelma voidaan tallentaa vaikka nimelle copyright.sh ja sille voidaan antaa suoritusoikeudet komennolla
chmod u+rx copyright.sh
Tämän jälkeen komentojono ajettaisiin komennolla
./copyright.sh
PDF-asiakirjan muunnokset
Convert 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
$ convert *.jpg mökki-albumi.pdf
Mikäli PDF tiedosto halutaan muuntaa kuvaksi on kannattaa käyttää valitsinta -density, koska oletusresoluutio on niin huono. Valitsimen -density 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
Mikäli tiedoston koko halutaan pitää mahdollisimman pienenä, voidaan käyttää valitsinta -monochrome, joka muuttaa kuvan mustavalkoiseksi.
Oletetaan että kyseessä on vaikka monisivuinen skannattu kirje. Ensin muutetaan tiedostot mustavalkoiseksi png-kuvaksi. Vaikka kohdetiedosto onkin määritetty muotoon kirje.png, syntyy muunnoksessa useita tiedostoja (kirje-1.png, kirje-2.png... jne)
$ convert -monochrome *.jpg kirje.png
Seuraavaksi mustavalkokuvat muutetaan yhdeksi pdf-tiedostoksi
$ convert *.png kirje.pdf
Tällä tavalla voidaan saada asiakirjan koko jopa kuusi kertaa pienemmäksi.
HUOM! 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.
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
Convert mahdollistaa myös kuvien rajaamisen komentoriviltä. Rajaaminen onnistuu käyttämällä -crop vipua. Ensiksi määritetään uuden kuvan koko ja sitten rajaamisen lähtöpiste.
Vivun rakenne:
toiminto | leveys | korkeus | etäisyys vasemmasta reunasta | oikeasta reunasta | |||||
---|---|---|---|---|---|---|---|---|---|
-crop | 800 | x | 600 | + | 100 | + | 200 |
Jos lähtöpistettä ei ole määritetty, niin convert 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 +repage 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. Convert mahdollistaa kuvan kääntämisen pystyyn valitsimen -rotate avulla.
-rotate käntää kuvaa ruudulla osoitetun asteluvun verran. Ehtomerkkejä < > käytettäessä, on hyvä käyttää myös lainausmerkkejä, jotta komentotulkki ei tulkitse komentoa väärin.
Ohjausmerkki | Toiminnon kuvaus | |
---|---|---|
+ | 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.
HUOM!
Suuria kuvajoukkoja käsiteltäessä, sekä isoa PDF-tiedostoa luotaessa voi helposti ongelmaksi tulla muistin määrän riittämättömyys, koska convert yrittää käsitellä kaikkia muunnoksia kerralla. Oireena on järjestelmän hidastuminen ja yleensä Linux tappaa prosessin kesken.
Vaihtoehtona on rakentaa skripti, joka käsittelee jokaisen kuvan yksitellen, lisätä lisää muistia koneeseen tai käyttää valitsinta -limit.
Lisää Imagemagic-komentojonojen kirjoittamisesta löytyy Linux.fin keskustelupalstan viestiketjusta.
Esimerkiksi muunnettaessa kuvia toiseen formaattiin voi olla hyödyllistä estää convertia rohmuamasta kaikkea muistia käyttämällä valitsinta -limit:
$ convert -limit memory 512mb *.jpg albumi.png
Käytössä olevat rajoitukset saa näkyviin komennolla:
$ convert -list resource
Mahdolliset rajoituskohteet:
Valitsin | Vaihtoehto | Oletuskoko | Vaikutus | ||||
---|---|---|---|---|---|---|---|
-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
Aiheesta muualla
Täydellinen lista komennolle annettavista parametreistä löytyy ImageMagickin dokumentaatiosta.
ImageMagick-pakettiin kuuluvia ohjelmia |
animate | compare | composite | conjure | convert | display | identify | import | mogrify | stream |