Ero sivun ”Convert” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
käyttö esimerkki lisätty, huomio-kohdat muutettu Huomautus-mallineiksi
ARTTUSN WIHOWIIMEINEN MARSSI TÄYTIN TOIVEENNE PÄÄSETTE NYT EROON MUSTA!!!!!!!! (keskustelu | muokkaukset) (Ak: Sivun sisältö korvattiin sisällöllä ”HYVÄSTI NUSSIJAT”) |
p (käyttö esimerkki lisätty, huomio-kohdat muutettu Huomautus-mallineiksi) |
||
(39 välissä olevaa versiota 8 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ö == | |||
Ohjelmaa käytetään yleensä yksinkertaisesti muuttamaan kuva muodosta toiseen. Tämä onnistuu yksinkertaisesti komennolla | |||
$ convert lähde kohde | |||
Esimerkiksi <tt>mokki.png</tt> muutettaisiin jpg-muotoon komennolla | |||
$ 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=== | |||
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 | |||
Tulevan kuvan koko voidaan antaa myös pikseleinä, esim. | |||
$ 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 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 | |||
$ 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==== | |||
Mikäli tiedoston koko halutaan pitää mahdollisimman pienenä, voidaan käyttää valitsinta <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) | |||
$ 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. | |||
{{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 === | |||
<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 == | |||
*[[Portaali:Kuvankäsittely]] | |||
== Aiheesta muualla == | |||
Täydellinen lista komennolle annettavista parametreistä löytyy [https://www.imagemagick.org/script/convert.php ImageMagickin dokumentaatiosta]. | |||
{{ImageMagick}} | |||
[[Luokka:Kuvankäsittelyohjelmat]] | |||
[[Luokka:Komentorivin erikoisohjelmat]] | |||
[[Luokka:Tiedostomuotomuunnokset]] |