Ero sivun ”Convert” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
käyttö esimerkki lisätty, huomio-kohdat muutettu Huomautus-mallineiksi
(Uusi valitsin -convert) |
p (käyttö esimerkki lisätty, huomio-kohdat muutettu Huomautus-mallineiksi) |
||
(24 välissä olevaa versiota 7 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
{{pienaakkonen}} | |||
{{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. | |||
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ä | Tulevan kuvan koko voidaan antaa myös pikseleinä, esim. | ||
convert - | $ convert -resize 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 \ | |||
-annotate 0 '(c) Matti Meikäläinen' -stroke none -fill white \ | |||
-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 | ===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==== | ||
Rivi 24: | Rivi 79: | ||
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 | $ 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. | ||
{{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.}} | |||
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 === | === 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. | Ensiksi määritetään uuden kuvan koko ja sitten rajaamisen lähtöpiste. | ||
Rivi 56: | Rivi 115: | ||
Jos lähtöpistettä ei ole määritetty, niin convert jakaa kuvan määritelmän kokoisiin paloihin. | Jos lähtöpistettä ei ole määritetty, niin <tt>convert</tt> jakaa kuvan määritelmän kokoisiin paloihin. | ||
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. | ||
=== Kääntäminen === | === Kääntäminen === | ||
Joissain tapauksissa on järkevää kääntää kuvaa ruudun tasossa. | 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. | <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" | {|<!--taulukon määrite--> style="text-align:left" | ||
Rivi 85: | Rivi 143: | ||
|} | |} | ||
esimerkiksi | |||
convert -rotate "-90>" kukka.jpg pysty-kukka.jpg | |||
Komento kääntää kuvaa vastapäivään 90 astetta, | $ 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.}} | |||
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 [[kill|tappaa]] [[prosessi]]n kesken. | |||
Vaihtoehtona on rakentaa | 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 | 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ää | 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 | $ 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 | $ convert -list resource | ||
Mahdolliset rajoituskohteet: | Mahdolliset rajoituskohteet: | ||
Rivi 116: | Rivi 175: | ||
| || || area || ? || ---- || ? || | | || || area || ? || ---- || ? || | ||
|- | |- | ||
| || || disk || ääretön || ---- || rajoittaa | | || || disk || ääretön || ---- || rajoittaa välimuistina käytettävän tiedoston kokoa || | ||
|- | |- | ||
| || || file || 768kpl || ---- || rajoittaa käsiteltävien tiedostojen määrää || || | | || || file || 768kpl || ---- || rajoittaa käsiteltävien tiedostojen määrää || || | ||
|- | |- | ||
| || || map || 4046MB || ---- || rajoittaa | | || || map || 4046MB || ---- || rajoittaa [[swap]]-osion käyttöä || || | ||
|- | |- | ||
| || || memory || 1024MB || ---- || rajoittaa keskusmuistin varauksen kokoa || || | | || || memory || 1024MB || ---- || rajoittaa keskusmuistin varauksen kokoa || || | ||
Rivi 130: | Rivi 189: | ||
== Aiheesta muualla == | == Aiheesta muualla == | ||
Täydellinen lista komennolle annettavista parametreistä löytyy [ | Täydellinen lista komennolle annettavista parametreistä löytyy [https://www.imagemagick.org/script/convert.php ImageMagickin dokumentaatiosta]. | ||
{{ImageMagick}} | {{ImageMagick}} |