ImageMagick – Smanjenje veličine datoteke

Imagemagick Smanjenje Velicine Datoteke



Lijepa i velika slika gotovo je sjajna; obično ga prati ogromna kvaliteta. Međutim, postoji mnogo, mnogo slučajeva kada si ne možete priuštiti slike koje su prevelike. Ponekad sve što želite je slika pristojne veličine ili čak ona koja je manja od određene zadane veličine. U takvim slučajevima, sve što programer želi je način da pronađe sredinu između kvalitete i veličine. Teoretski, ako se potpuno odreknete kvalitete, tada veličina datoteke ne bi trebala biti problem, ali prava stvar je pronaći kompromis između kvalitete i veličine datoteke. U ovom vodiču ćemo raspravljati o načinima smanjenja veličine datoteke slika pomoću ImageMagicka (bez previše ugrožavanja kvalitete).

Instaliranje ImageMagicka

Za ovo će nam trebati ImageMagick, pa ga prvo instalirajmo:







sudo apt-get instalacija imagemagick



Prekidač kvalitete

Prvi i najlakši način za smanjenje veličine fotografije/slike/video zapisa je smanjenje kvalitete fotografije. Prekidač kvalitete predstavlja razinu kompresije JPEG/MIFF/PNG. Za JPEG i MPEG, kvaliteta 1 predstavlja najvišu razinu kompresije i najnižu kvalitetu slike, dok 100 predstavlja najmanju razinu kompresije i najbolju kvalitetu.



Pa pogledajmo primjer; slika stabla koju sam snimio je 4624×3468 što se tiče rezolucije i iznosi 5.70226MiB. Ovo je originalna slika, JPEG, da budemo precizniji.






Sada, poanta je da želimo smanjiti veličinu slike. Pa pokušajmo postaviti postavke prekidača kvalitete na nešto malo drugačije i vidjeti što će se dogoditi.

pretvoriti tree_4624x3468.jpg -kvaliteta 75 drvo_4624x3468_kvaliteta75.jpg
pretvoriti tree_4624x3468.jpg -kvaliteta 25 drvo_4624x3468_kvaliteta25.jpg



Smanjio sam kvalitetu na 75 za jednu sliku i 25 za drugu. Izvorna slika bila je 5,70226MiB, ali slika kvalitete 75 postala je 2,74664MiB dok je ona kvalitete 25 postala 1358250 (1,295MiB). Ovdje bih se osobno odlučio za 75% kvalitete.



Budući da nam je također stalo do stvarne kvalitete fotografije, dopustite mi da vam pokažem fotografije:


drvo_4624x3468_kvaliteta75.jpg


drvo_4624x3468_kvaliteta25.jpg

Kao što vidite, kvaliteta nije previše pogođena, ali je veličina datoteke manja.

Sada sam pokušao učiniti isto s PNG-om i dobio sam ovo:


Dakle, otišao je s 23501600B (22,413MiB) na 22,2854MiB. Za JPEG je otišao s 5,70226MiB na 1,295MiB. Za formate bez gubitaka kao što je PNG, promjena kvalitete puno je teža.

Promjena veličine slika

Promjena veličine slika je još jedan način. Na primjer:

pretvoriti tree_4624x3468.jpg -promijeniti veličinu pedeset % x50 % drvo_4624x3468_promjena veličine50 % .jpg



Kao što jasno možete vidjeti, slika koja je bila 4624×3468 je bila 5.70226MiB, dok je ona koja je bila 2312×1734 samo 1.56287MiB.

Prekidač za definiranje

Iza prekidača definiranja slijedi ključ i njegova zadana vrijednost.

-definirajte ključ{=vrijednost}…

Popis mogućih ključnih vrijednosti nalazi se na .

Za PNG možete koristiti png:compression-level=value. Vrijednost može biti bilo koja od 0 do 9. Vrijednost 0 će vam pružiti najmanju kompresiju, ali je brza, a vrijednost 9 će vam pružiti najbolju kompresiju, ali je najsporija. Sve između također ide.

Na primjer:

pretvoriti tree_4624x3468.png -definirati png:razina kompresije= 9 drvo_4624x3468_kompresija9.png



U većini slučajeva programer želi postaviti maksimalnu veličinu fotografije. Pretpostavimo, na primjer, da želite postaviti maksimalnu veličinu fotografije. Za to možete koristiti prekidač definiranja.

-definiraj jpeg:extent={size}

pretvoriti  tree_4624x3468.jpg -definirati jpeg: opseg =1MB tree_4624x3468_extent1MB.jpg



Kao što možete vidjeti na gornjoj slici, postavio ga je na rezoluciju od 4624×3468 i veličinu od 0.897MiB. Dakle, kao što ste tražili, ImageMagick je stvorio fotografiju koja je manja od maksimalne veličine od 1 MB.

Prekidač trake

Slike koje snimamo fotoaparatima dolaze s metapodacima. Uklanjanje metapodataka također može osloboditi nešto prostora. U ImageMagicku to radimo pomoću prekidača za trake.

pretvoriti tree_4624x3468.jpg -traka stablo_strip.jpg



Ovdje, kao što vidite, originalna fotografija je 4624×3468 i 5.7MiB. Ali slika s koje su uklonjeni metapodaci ima 4,65 MiB.

Prekidač prostora boja

Također možete pokušati promijeniti prostor boja. U ovom prvom slučaju, posivjet ću.

pretvoriti tree_4624x3468.jpg -prostor boja sivo drvo_sivo.jpg -kvaliteta 75



Kao što vidite, smanjenje veličine slike nije preveliko, ali smanjenje postoji – s 5,70226MiB na 4,44997MiB.

Alternativno, pokušao sam i sljedeće:

pretvoriti tree_4624x3468.png -prostor boja sivo drvo_graypng.png



U slučaju PNG-a, moja izvorna fotografija, to jest 4624 × 3468, iznosi 22,42 MiB, ali kad je posivim, postaje 8,88 MiB.

Prebacivanje boja

Također možete odlučiti promijeniti broj korištenih boja. U ovom konkretnom slučaju, koristit ću samo 16 boja u PNG-u.

pretvoriti tree_4624x3468.png -boje 16 drvo_4624x3468_16boje.png



Izvorni PNG bio je 4624 × 3468 i 22,42 MiB. Međutim, kada sam promijenio boje na samo 16, slika je postala velika 4,27 MiB. A fotografija izgleda ovako:


drvo_4624x3468_16boje.png

Korištenje više prekidača

Sada ne morate koristiti niti jedan prekidač na fotografiji! Na slici možete kombinirati onoliko prekidača koliko želite.

Dakle, u primjeru 1, snimit ću PNG fotografiju stabla. Ova originalna fotografija je veličine 4624 × 3468 i 22,42 MiB, a ja ću koristiti više prekidača i vidjeti kamo će me odvesti.

pretvoriti tree_4624x3468.png -traka -promijeniti veličinu 75 % x75 % -definirati png:razina kompresije= 9 -prostor boja siva  tree_4624x3468_reducedsize.png



Tako se ovaj PNG, s izvornom veličinom od 22,42 MiB, pretvorio u sliku od 5,3 MiB. Rezultirajuća slika je oko 23% izvorne veličine.

Zatim, pogledajmo JPG.

pretvoriti tree_4624x3468.jpg -kvaliteta 75 -promijeniti veličinu 75 % x75 % -traka -boje 16 stablo_4624x3468_reducedsize.jpg



Dakle, ovdje, za JPG, otišli smo s izvorne veličine od 5,7 MiB na oko 2,2 MiB za sliku u boji.

Ali ako nije u boji:

pretvoriti tree_4624x3468.jpg -kvaliteta 75 -promijeniti veličinu 75 % x75 % -traka -prostor boja sivo stablo_4624x3468_reducedsize.jpg



Ovdje smo prešli s izvorne veličine od 5,7 MiB na 1,6 MiB za sivu sliku.

Da ste htjeli, mogli ste postaviti i maksimalno ograničenje veličine. Poanta je u tome da možete smanjiti veličinu ako se doista tako odlučite.

Zaključak

Kada pišemo kod za određenu svrhu, skloni smo koristiti i slike, a ponekad si jednostavno ne možemo priuštiti slike koje su prevelike. U takvim slučajevima glavni fokus programera je pronaći kompromis između veličine slike i kvalitete slike. Ne želimo koristiti slike koje su preniske kvalitete, ali si također ne možemo priuštiti velike slike. Dakle, trebamo načine da smanjimo veličinu slike. ImageMagick nudi različite načine smanjivanja veličine vaše slike u obliku različitih prekidača – kvaliteta, promjena veličine, definiranje, itd. Možete koristiti jedan ili više njih za podešavanje veličine slike.