Näin pienennät kuvan tiedostokokoa
Latauslomake vaatii alle 2 MB ja kuvani on 8 MB. Mitä minun pitää oikeasti muuttaa?
Kolme vipua, joista yksi hallitsee
Jokainen kuvanpakkaaja vetää jotain yhdistelmää kolmesta vivusta: montako pikseliä kuvassa on, kuinka paljon yksityiskohtia enkooderi saa heittää pois ja mihin muotoon se kirjoittaa. Laatuliukusäätimeen tartutaan ensimmäisenä, koska jokainen työkalu näyttää sen ensimmäisenä. Se on yleensä väärä paikka aloittaa.
Mitat hallitsevat, koska tiedostokoko skaalautuu suunnilleen pikselimäärän mukana ja pikselimäärä kasvaa mittojen neliössä. Kun leveys ja korkeus puolitetaan, jäljelle jää neljännes pikseleistä. Mikään laatuliukusäätimellä tehtävä ei ole yhtä ratkaisevaa, eikä mikään muukaan maksa yhtä vähän koetussa laadussa – kunhan lopputulos on yhä suurempi kuin se ruutu, jossa se näytetään.
Laske, montako pikseliä oikeasti tarvitset
Nykyinen puhelinkamera tuottaa noin 4000 pikseliä leveitä kuvia. Läppärin koko ruudun täyttävä valokuva näytetään noin 1500–2000 pikselin levyisenä, ja artikkelin sisällä oleva kuva usein 800 pikselin levyisenä. Kun 4000 pikseliä lähetetään ruutuun, joka näyttää 800, katsojan ohjelmisto heittää noin 96 prosenttia pikseleistä pois vasta sen jälkeen, kun ne on ladattu.
| Pisin sivu | Pikseleitä suunnilleen | Osuus 4000 px:n alkuperäisestä |
|---|---|---|
| 4000 px | 10,7 miljoonaa | 100% |
| 2560 px | 4,4 miljoonaa | 41% |
| 1920 px | 2,5 miljoonaa | 23% |
| 1280 px | 1,1 miljoonaa | 10% |
| 800 px | 0,4 miljoonaa | 4% |
Prosentit ovat laskutoimitus, eivät mittaus mistään tietystä tiedostosta – pakattu tiedosto ei pienene täsmälleen pikselimäärän suhteessa. Silti juuri niitä kannattaa katsoa ensin, koska ne kertovat, kuinka paljon tilaa koon pienennys antaa enkooderille ennen kuin sen on alettava karsia yksityiskohtia.
Mitä laatuliukusäädin tekee
JPEG-enkooderissa laatuluku skaalaa jakajataulukkoa, jota sovelletaan jokaisen 8×8-lohkon taajuuskertoimiin. Matalampi laatu tarkoittaa karkeampaa jakoa, jolloin useampi kerroin pyöristyy nollaan ja bittejä tarvitaan vähemmän. Näkyvä hinta ilmestyy ensimmäisenä terävien reunojen ympärille ja tasaisiin liukuväreihin: tekstin viereen värähtelyä ja taivaisiin juovaisuutta.
Asteikko ei ole lineaarinen eikä vertailukelpoinen muotojen välillä. Laatu 80 JPEG-enkooderissa, WebP-enkooderissa ja AVIF-enkooderissa on kolme toisiinsa liittymätöntä lukua, jotka sattuvat jakamaan saman asteikon. Arvioi lopputulos katsomalla sitä täydessä koossa, älä luottamalla lukuun.
Miksi tavoitekoko on haku eikä asetus
Mikään enkooderi ei ota vastaan ohjetta ”tee tästä 500 KB”. Se ottaa vastaan laatuasetuksen ja tuottaa sen koon, jonka asetus juuri sille kuvalle tuottaa. Tavoitekokoa tarjoava työkalu tekee siis hakua: pakkaa, mittaa, säädä laatua, pakkaa uudelleen ja pysähdy, kun tulos alittaa budjetin tai kun laadun alaraja tulee vastaan.
Siksi tavoitekoko on aina paras yritys. Yksityiskohtainen, kohiseva ja korkearesoluutioinen valokuva ei ehkä mahdu tiukkaan budjettiin millään laadulla, jonka ihminen hyväksyisi, ja rehellinen vastaus on pysähtyä alarajalle ja kertoa, mihin haku pysähtyi, sen sijaan että jatkettaisiin kunnes kuva on pilalla. FileSlimmerin tavoitekokotyökalut pienentävät ensin mittoja, kaventavat sitten laatua rajojen välissä ja kertovat, mihin asetukseen ne päätyivät.
Näin saat kuvan alle 1 MB:n
Aloita pienentämällä puhelinkuva niihin suurimpiin mittoihin, joita kohde tarvitsee. Sähköpostissa, lomakkeissa ja tavallisilla verkkosivuilla se on usein selvästi alle kameran alkuperäisen. Pakkaa sitten uusi JPEG tai WebP korkealla mutta ei maksimilaadulla, mittaa tulos ja laske laatua vähitellen vain, jos tiedosto on yhä yli 1 MB.
Pelkkä laatu ei ratkaise, jääkö tulos alle 1 MB:n, koska yksityiskohtaiset kuvat vaativat enemmän dataa kuin yksinkertaiset. Jos ensimmäinen kierros ei alita rajaa, pienennä mittoja ennen kuin pakotat laadun alemmas. Näin kuva säilyy yleensä luonnollisemman näköisenä kuin jos jokainen pikseli pidetään ja tilalle tulee voimakkaita lohko- tai värähtelyartefakteja.
Asiat, jotka eivät auta
- Tiedoston pakkaaminen ZIP-arkistoon. Pakatuissa kuvamuodoissa ei ole juuri lainkaan toisteisuutta jäljellä yleiskäyttöisen pakkaajan löydettäväksi; arkisto on yleensä pyöristysvirheen päässä alkuperäisestä koosta.
- Tiedostopäätteen vaihtaminen. Tavut eivät muutu, ja ohjelma, joka lukee tiedoston todellisen tunnisteen, menee vain sekaisin.
- JPEG:n tallentaminen uudelleen samalla laadulla. Se on toinen häviöllinen kierros: tiedosto ei pienene mitenkään hyödyllisesti ja kuva huononee hieman.
- Metatietojen poistaminen valokuvasta, jos ainoa tavoite on koko. Muutama kilotavu EXIF-tietoa useiden megatavujen pikseleitä vastaan on kohinaa. Poista ne yksityisyyden vuoksi – se syy on todellinen – ei koon takia.
Työtapa, joka yleensä vie perille
- Päätä suurin koko, jossa kuva koskaan näytetään, ja skaalaa pisin sivu siihen.
- Valitse sisältöön sopiva muoto: häviöllinen valokuville, häviötön kuvakaappauksille ja tasaisille grafiikoille.
- Aloita korkeasta mutta ei maksimilaadusta ja laske askel kerrallaan, kunnes näet vaurion, ja nosta sitten yksi askel takaisin.
- Tarkista tulos täydessä koossa sellaisella näytöllä, jolle se on tarkoitettu.
- Jos se on yhä liian suuri, palaa ensimmäiseen kohtaan. Mitoissa on lähes aina enemmän varaa kuin laadussa.
Missä tämä lakkaa toimimasta
Jotkin kuvat vastustavat kaikkea tätä. Skannattu asiakirja, joka on täynnä pientä tekstiä, tarvitsee pikselinsä pysyäkseen luettavana, joten koon pienentäminen sattuu heti ja laadun laskeminen tuottaa juuri ne artefaktit, jotka tekevät tekstistä vaikeasti luettavaa. Taulukkolaskennan kuvakaappauksessa on sama ongelma. Niissä oikea vastaus on usein toinen muoto – häviötön tai PDF – eikä pienempi kilotavumäärä.
Ja jos palvelu hylkää tiedostosi, tarkista, koskeeko raja tiedostokokoa vai pikselimittoja. Ne ovat eri rajoja, ja toisen läpäisevä tiedosto voi silti kaatua toiseen.
Työkalut tähän
Lähteet
- ITU-T T.81 — quantisation and the JPEG quality scale
- MDN — Image file type and format guide
- MDN — Responsive images and choosing a display width