Bii o ṣe le Je ki Ipapọ JPEG tabi Awọn aworan PNG ni Linux Commandline


O ni ọpọlọpọ awọn aworan, ati pe o fẹ lati je ki o fun pọ awọn aworan laisi pipadanu didara atilẹba rẹ ṣaaju ikojọpọ wọn si eyikeyi awọsanma tabi awọn ibi ipamọ agbegbe? Ọpọlọpọ awọn ohun elo GUI wa ti yoo ran ọ lọwọ lati je ki awọn aworan wa. Sibẹsibẹ, nibi awọn ohun elo laini aṣẹ aṣẹ meji ti o rọrun lati jẹ ki awọn aworan dara si ati pe wọn jẹ:

  1. jpegoptim - jẹ iwulo lati je ki/fun pọ awọn faili JPEG laisi yiyọ didara.
  2. OptiPNG - jẹ eto kekere kan ti o mu ki awọn aworan PNG pọ si iwọn ti o kere ju laisi padanu eyikeyi alaye.

Lilo awọn irinṣẹ meji wọnyi, o le ṣe iṣapeye awọn aworan kan tabi ọpọ ni akoko kan.

Compress tabi Je ki Awọn aworan JPEG wa lati ila laini

jpegoptim jẹ ọpa laini aṣẹ kan ti a le lo lati mu ki o pọpọ awọn faili JPEG, JPG ati awọn faili JFIF laisi pipadanu didara rẹ gangan. Ọpa yii ṣe atilẹyin iṣapeye pipadanu, eyiti o da lori iṣapeye awọn tabili Huffman.

Lati fi jpegoptim sori awọn ẹrọ Linux rẹ, ṣiṣe aṣẹ atẹle lati ọdọ ebute rẹ.

# apt-get install jpegoptim
or
$ sudo apt-get install jpegoptim

Lori awọn eto ipilẹ RPM bii RHEL, CentOS, Fedora ati bẹbẹ lọ, o nilo lati fi sori ẹrọ ati mu ibi ipamọ EPEL ṣiṣẹ tabi ni ọna miiran, o le fi ibi ipamọ epel sii taara lati aṣẹ-aṣẹ bi o ti han:

# yum install epel-release
# dnf install epel-release    [On Fedora 22+ versions]

Nigbamii fi eto jpegoptim sii lati ibi ipamọ bi o ti han:

# yum install jpegoptim
# dnf install jpegoptim    [On Fedora 22+ versions]

Ilana ti jpegoptm ni:

$ jpegoptim filename.jpeg
$ jpegoptim [options] filename.jpeg

Jẹ ki a ni bayi compress atẹle tecmint.jpeg aworan, ṣugbọn ṣaaju iṣapeye aworan, kọkọ wa iwọn gangan ti aworan nipa lilo pipaṣẹ du bi o ti han.

$ du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

Nibi iwọn faili gangan jẹ 6.2MB, bayi compress faili yii nipa ṣiṣe:

$ jpegoptim tecmint.jpeg 

Ṣii aworan ti a fisinuirindigbindigbin ninu eyikeyi ohun elo oluwo aworan, iwọ kii yoo ri eyikeyi awọn iyatọ nla. Orisun ati awọn aworan fisinuirindigbindigbin yoo ni didara kanna.

Aṣẹ ti o wa loke n mu awọn aworan dara si iwọn ti o pọju ti o ṣeeṣe. Sibẹsibẹ, o le compress aworan ti a fun si iwọn kan pato si, ṣugbọn o mu aipe aipe ṣiṣẹ.

Fun apẹẹrẹ, jẹ ki a rọpọ loke aworan lati 5.6MB si ayika 250k.

$ jpegoptim --size=250k tecmint.jpeg

O le beere bi o ṣe le fun pọ awọn aworan ni gbogbo itọsọna, iyẹn ko nira paapaa. Lọ si itọsọna nibiti o ni awọn aworan.

[email  ~ $ cd img/
[email  ~/img $ ls -l
total 65184
-rwxr----- 1 tecmint tecmint 6680532 Jan 19 12:21 DSC_0310.JPG
-rwxr----- 1 tecmint tecmint 6846248 Jan 19 12:21 DSC_0311.JPG
-rwxr----- 1 tecmint tecmint 7174430 Jan 19 12:21 DSC_0312.JPG
-rwxr----- 1 tecmint tecmint 6514309 Jan 19 12:21 DSC_0313.JPG
-rwxr----- 1 tecmint tecmint 6755589 Jan 19 12:21 DSC_0314.JPG
-rwxr----- 1 tecmint tecmint 6789763 Jan 19 12:21 DSC_0315.JPG
-rwxr----- 1 tecmint tecmint 6958387 Jan 19 12:21 DSC_0316.JPG
-rwxr----- 1 tecmint tecmint 6463855 Jan 19 12:21 DSC_0317.JPG
-rwxr----- 1 tecmint tecmint 6614855 Jan 19 12:21 DSC_0318.JPG
-rwxr----- 1 tecmint tecmint 5931738 Jan 19 12:21 DSC_0319.JPG

Ati lẹhinna ṣiṣe aṣẹ atẹle lati compress gbogbo awọn aworan ni ẹẹkan.

[email  ~/img $ jpegoptim *.JPG
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.
DSC_0313.JPG 6000x4000 24bit N Exif  [OK] 6514309 --> 5909840 bytes (9.28%), optimized.
DSC_0314.JPG 6000x4000 24bit N Exif  [OK] 6755589 --> 6144165 bytes (9.05%), optimized.
DSC_0315.JPG 6000x4000 24bit N Exif  [OK] 6789763 --> 6090645 bytes (10.30%), optimized.
DSC_0316.JPG 6000x4000 24bit N Exif  [OK] 6958387 --> 6354320 bytes (8.68%), optimized.
DSC_0317.JPG 6000x4000 24bit N Exif  [OK] 6463855 --> 5909298 bytes (8.58%), optimized.
DSC_0318.JPG 6000x4000 24bit N Exif  [OK] 6614855 --> 6016006 bytes (9.05%), optimized.
DSC_0319.JPG 6000x4000 24bit N Exif  [OK] 5931738 --> 5337023 bytes (10.03%), optimized.

O tun le compress ọpọ awọn aworan ti a yan ni ẹẹkan:

$ jpegoptim DSC_0310.JPG DSC_0311.JPG DSC_0312.JPG 
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.

Fun awọn alaye diẹ sii nipa ọpa jpegoptim, ṣayẹwo awọn oju-iwe eniyan naa.

$ man jpegoptim 

Compress tabi Je ki Awọn aworan PNG lati ila laini

OptiPNG jẹ ọpa laini aṣẹ ti a lo lati mu ki o pọ awọn faili PNG (awọn aworan nẹtiwọọki to ṣee gbe) laisi pipadanu didara atilẹba.

Fifi sori ẹrọ ati lilo ti OptiPNG jẹ iru kanna si jpegoptim.

Lati fi OptiPNG sori ẹrọ lori awọn eto Linux rẹ, ṣiṣe aṣẹ atẹle lati ebute rẹ.

# apt-get install optipng
or
$ sudo apt-get install optipng
# yum install optipng
# dnf install optipng    [On Fedora 22+ versions]

Akiyesi: O gbọdọ ni ibi ipamọ epel ti o ṣiṣẹ lori awọn eto ipilẹ RHEL/CentOS rẹ lati fi eto optipng sii.

Ilana gbogbogbo ti optipng ni:

$ optipng filename.png
$ optipng [options] filename.png

Jẹ ki a funmorawon aworan tecmint.png , ṣugbọn ṣaaju iṣapeye, akọkọ ṣayẹwo iwọn gangan ti aworan bi o ti han:

[email  ~/img $ ls -lh tecmint.png 
-rw------- 1 tecmint tecmint 350K Jan 19 12:54 tecmint.png

Nibi iwọn faili gangan ti aworan loke jẹ 350K, ni bayi compress faili yii nipa ṣiṣe:

[email  ~/img $ optipng tecmint.png 
OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: tecmint.png
1493x914 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 357525 bytes
Input file size = 358098 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211

Output IDAT size = 249211 bytes (108314 bytes decrease)
Output file size = 249268 bytes (108830 bytes = 30.39% decrease)

Bi o ṣe rii ninu iṣelọpọ loke, iwọn ti faili tecmint.png ti dinku si 30.39%. Bayi jẹrisi iwọn faili lẹẹkansi ni lilo:

[email  ~/img $ ls -lh tecmint.png 
-rw-r--r-- 1 tecmint tecmint 244K Jan 19 12:56 tecmint.png

Ṣii aworan ti a fisinuirindigbindigbin ninu eyikeyi ohun elo oluwo aworan, iwọ kii yoo ri eyikeyi awọn iyatọ nla laarin atilẹba ati awọn faili ifunpa. Orisun ati awọn aworan fisinuirindigbindigbin yoo ni didara kanna.

Lati compress ipele tabi ọpọ awọn aworan PNG ni ẹẹkan, kan lọ si itọsọna nibiti gbogbo awọn aworan ngbe ati ṣiṣe aṣẹ atẹle lati compress.

[email  ~ $ cd img/
[email  ~/img $ optipng *.png

OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: Debian-8.png
720x345 pixels, 3x8 bits/pixel, RGB
Input IDAT size = 95151 bytes
Input file size = 95429 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388

Output IDAT size = 81388 bytes (13763 bytes decrease)
Output file size = 81642 bytes (13787 bytes = 14.45% decrease)

** Processing: Fedora-22.png
720x345 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 259678 bytes
Input file size = 260053 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 222479
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 220311
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744
                               
Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744

Output IDAT size = 216744 bytes (42934 bytes decrease)
Output file size = 217035 bytes (43018 bytes = 16.54% decrease)
....

Fun awọn alaye diẹ sii nipa optipng ṣayẹwo awọn oju-iwe eniyan.

$ man optipng

Ipari

Ti o ba jẹ ọga wẹẹbu ati pe o fẹ lati sin awọn aworan iṣapeye lori oju opo wẹẹbu rẹ tabi bulọọgi kan, awọn irinṣẹ wọnyi le jẹ ọwọ pupọ. Awọn irinṣẹ wọnyi kii ṣe aaye aaye disiki nikan, ṣugbọn awọn tun dinku bandiwidi lakoko ikojọpọ awọn aworan.

Ti o ba mọ ọna miiran ti o dara julọ lati ṣaṣeyọri ohun kanna, jẹ ki a mọ nipasẹ awọn asọye ati maṣe gbagbe lati pin nkan yii lori awọn nẹtiwọọki awujọ rẹ ati ṣe atilẹyin fun wa.