Wikipedia:Kuvien tiedostokoon pienentäminen

Wikipedia
Loikkaa: valikkoon, hakuun
Wikipedian ohjekirja
n · k · m

Wikipediaan tallennettavan kuvan tiedostokoon on oltava mahdollisimman pieni suhteessa kuvan laatuun, ja kuvan laadun tarkoituksenmukainen. Silloin kuva tulee sivua katsottaessa nopeammin esiin, ja palvelimen levytilaa säästyy. Tällä sivulla on ohjeita kuvien koon järkevään rajoittamiseen. Oletetaan, että olet piirtänyt vektorigrafiikkaohjelmalla kaavion tai sinulla on BMP-muotoinen kuva. Ensin tutkitaan itse kuvan sisältöä ja sitten arvioidaan, mikä tiedostomuoto on kuvalle sopivin.

Hyvin rajattu kuva[muokkaa | muokkaa wikitekstiä]

Rajaa kuvasta epäolennaiset kohdat pois.

Smiley face with title.png Smiley face with no title.png
Teksti kuvan alla
1 248 tavua 846 tavua (+17 tavun teksti)

Onko kuvateksti osa kuvaa? On yleensä parempi poistaa kuvateksti kuvasta ja kirjoittaa se sivulle kuvan alle. Teksti verkkosivulla kasvattaa tiedostokokoa vähemmän kuin kuvaan tallennettu teksti. Tekstiä verkkosivulla voidaan myös muuttaa helpommin kuin tekstiä kuvassa. Helpotat siis kuvaa vieraskielisessä Wikipediassa käyttävien elämää, jos kirjoitat tekstin kuvan alle. Toisin kuin kuvaan tallennettu teksti, verkkosivulle kirjoitettu teksti näkyy myös hakukoneessa, ja selaimen käyttäjä voi tarpeen tullen suurentaa tai pienentää sitä.

Kaaviot ja piirrokset[muokkaa | muokkaa wikitekstiä]

Kaaviot kannattaa tiivistää PNG-muotoon. (Portable Network Graphics) Tämä tiivistysalgoritmi on suunniteltu sellaisia kuvia varten, joissa on laajoja alueita yhtä väriä ja värialueiden väliset rajat ovat terävät. Se sopii siksi kaavioille ja piirroksille.

Tiedosto saadaan vielä pienemmäksi valitsemalla siihen kuvan kannalta sopiva värivalikoima. Kaaviossa on yleensä vain vähän värejä. Esimerkiksi vain neljää väriä sisältävää kuvaa ei tarvitse tallentaa muotoon, jossa on varattu tilaa 16 miljoonalle värille. Miljoonien värien tallentamiseen riittää 24 bittiä pikseliä kohden:

Diamond without anti-aliasing.png Anti-aliased diamond.png Anti-aliased diamond enlarged.png
1-bittinen
(180 tavua)
4-bittinen
(309 tavua)
Ei reunanpehmennystä Reunanpehmennys    Suurennos
pehmennetystä
224 = 16 777 216

256 eri värille riittää 8 bittiä:

28 = 256

Siis 8-bittiset kuvat ovat teoriassa tiedostokooltaan vain kolmasosan 24-bittisistä kuvista.

Kuviin, joissa näkyy vain mustaa ja valkoista, saattaa riittää vain yksi bitti värejä.

21 = 2 väriä (musta ja valkoinen)

Värimäärä ei kuitenkaan riitä kuviin, joissa on reunanpehmennys (antialiasing). Näiden kuvien sileäreunainen vaikutelma on saatu aikaan lisäämällä mustan ja valkean muuten sahalaitaisen näköiselle rajalle harmaan sävyjä. Mikäli reunanpehmennys halutaan säilyttää, pitää sellaiset kuvat tallentaa 4- tai 16-bittisinä.

Valokuvat[muokkaa | muokkaa wikitekstiä]

JPEG-tiedostomuoto on suunniteltu valokuvia varten ja se sopii yleensäkin sellaisille kuville, joissa on paljon värejä ja sävyjä. Kun kuva tiivistetään JPEG-muotoon, siitä häviää samalla tietoa. Vaikka JPEG-muodon tiivistysalgoritmit ovatkin varsin tehokkaita, kuvat saa vielä pienemmiksi seuraavia ohjeita noudattamalla.

  • Kuvaa JPEG-muotoon tallennettaessa kuvankäsittelyohjelma kysyy tiivistysastetta. Vaihtoehdot ovat yleensä asteikolla 0 - 100 %, jossa 100 on paras kuvanlaatu ja vähäisin tiivistys. Yleensä järkevä valinta on 95. Tämä on periaatteessa hyvin vähän tiivistetty kuva, mutta Wikipedian kuvat näkyvät artikkeleissa lähes aina pienennettyinä. Pienennettyä versiota muodostaessaan ohjelmisto tiivistää samalla kuvaa lisää.
  • JPEG-tiivistysmuoto toimii parhaiten kuvissa, jotka ovat värien rajoiltaan hieman sumeita (blurred). Älä terävöitä kuvia liikaa, ettei tiedostokoko kasva turhaan.
  • Jos kuva on kovin huonolaatuinen ja kärsineen näköinen, pienennä sen kokoa ja pehmennä (smooth) sitä hieman, jotta se näyttäisi ennemmän siistin alkuperäiskuvan kaltaiselta.
  • Käsittele vain alkuperäiskuvaa. Jos tiivistät JPEG-muotoon tallennetun kuvan uudestaan JPEG-muotoon, sen kuvanlaatu huononee lisää.
  • JPEG-kuvia voi tiivistää jonkin verran ilman kuvanlaadun heikkenemistä Jpegtran-ohjelmalla komennolla jpegtran -optimize. Jpegtran on osa libjpeg-ohjelmistoa.

Väärän valinnan seuraukset[muokkaa | muokkaa wikitekstiä]

Smiley face example true C.jpg
4905 tavua

Oikealla on esimerkki JPEG-muotoisesta kuvasta, joka olisi pitänyt tallentaa PNG-muotoon. JPEG-muotoon tallennettujen piirrosten ja kaavioiden kuvanlaatu on huono, koska ihmissilmä havaitsee tiivistyksen aiheuttaman laadun heikkenemisen.

Toinen ongelma on suotta JPEG-muotoon tallennettujen kuvien suuri koko. Yleensä JPEG-kuvissa vaihtoehtoina ovat vain 24-bittinen (miljoonia värejä) tai 8-bittinen (harmaasävy) värivalikoima. Esimerkkikuvan tiedostokoko on paisunut, koska siinä on ylimitoitettu värivalikoima.

Jos sinulla ei ole alkuperäiskuvaa vaan ainoastaan JPEG-kuva, jonka pitäisi olla PNG-muodossa, älä tallenna sitä suoraan PNG-muotoon, sillä tuloksena on vielä lisää paisunut tiedosto. Englanninkielisessä Wikipediassa on ohje tällaisia tapauksia varten: How to reduce colors for saving a JPEG as PNG.

PNG-kuvat tiiviimmiksi[muokkaa | muokkaa wikitekstiä]

Lukuisat kuvankäsittelyohjelmat tiivistävät kuvat PNG-muotoon vaillinaisesti. Siksi on laadittu ohjelmia, joiden avulla saa PNG-kuvia vielä pienemmiksi ilman, että niiden kuvanlaatu huononisi.

Optipng on yleensä parempi ja selvästi nopeampi kuin kuin Pngcrush. Pngout-ohjelmalla voi vielä parannella Optipng:n tuloksia, mutta se on suhteellisen hidas ja vaatii monta yritystä ja eri puskuriasetusten kokeilua, jotta sillä saisi parhaan mahdollisen tuloksen.

Kun haluat tiivistää kuvan nopeasti, käytä Optipng:tä vivulla -o7 (228 yritystä). Vielä pikaisemmin tuloksen saa aikaan ilman mitään vipuja. Yleensä vivut -zc1-9 -zm1-9 -zs0-2 -f0-5 (1026 yritystä) tuottavat paremman tuloksen, vaikkakin hitaaammin.

Jos halutaan mahdollisimman pieni tiedostokoko ja aikaa riittää, toimitaan pitkän kaavan mukaan:

  1. Pngrewrite (nopea ja tekee joitakin sellaisia optimointeja, joita Optipng ei tee.)
  2. optipng -zc1-9 -zm1-9 -zs0-2 -f0-5
  3. Joko AdvPNG tai Pngout. Kumpikin ohjelma käyttää normaalia mutkikkaampia algoritmeja kuvien tiivistämiseen.
AdvPNG:tä käytäen: advpng -z4
Käytetään Pngoutia monin eri asetuksin, tallennetaan joka tulos eri hakemistoon ja käytetään pienintä tulosta. On kokeiltava ainakin asetukset /f0:sta /f5:een, ja jokaisen niistä kanssa kokeiltava lisäksi useita eri /b:n arvoja, ainakin b0:a, b128:a ja b1024:ä.

Muutamat verkkosivut väittävät, ettei /b:n arvolla ole juuri väliä, mutta eron havaitsee tällaisissa järjestelmällisissä kokeiluissa. Yhdistelmät /f0 /b0 tai /f0 /b1024 tuottavat tyypillisesti erinomaisia tuloksia tietosanakirjoissakin käytetyille piirroksille, joten niitä suositellaan kokeilemaan ensimmäiseksi, vaikka jotkin muut /b: arvot usein pienentävät kuvan tiedostokokoa vielä prosentin murto-osalla.

Tämä toimenpidesarja hävittää kuvasta kaiken metatiedon, kuten tekijän nimen. Erityisesti Pngrewrite-ohjelma poistaa tiedot, joten jos haluat säilyttää ne, tutki sen ja muidenkin tiivistysohjelmien asetuksia.

Tiivistettyä kuvaa on aina verrattava alkuperäiseen. Silloin tällöin sattuu, että tiivistysohjelma ei havaitse alkuperäisen kuvan läpinäkyvyyttä ja poistaa sen. Eron huomaa usein siitä, että kuvan taustaväri on muuttunut.