Otu esi ebuli na mpikota onu JPEG ma ọ bụ PNG na Linux Commandline


Ị nwere ọtụtụ ihe oyiyi, ma ịchọrọ ịkwalite na mpikota onu ihe oyiyi na-enweghị atụfu àgwà mbụ ya tupu ebugo ha na igwe ojii ma ọ bụ nchekwa mpaghara? Enwere ọtụtụ ngwa GUI dị nke ga-enyere gị aka ịkwalite onyonyo. Agbanyeghị, ebe a bụ ngwa ahịrị iwu abụọ dị mfe iji bulie onyonyo yana ha bụ:

  1. jpegoptim – bụ ihe eji ebuli/mpịachi faịlụ JPEG n’ebughị ogo.
  2. OptiPNG – bụ obere mmemme na-ebuli onyonyo PNG ka ọ dị obere n’ebughị ụzọ tụfuo ozi ọ bụla.

Iji ngwaọrụ abụọ a, ị nwere ike bulie otu onyonyo ma ọ bụ ọtụtụ n'otu oge.

Kwakọba ma ọ bụ welie onyonyo JPEG site na Line Command

jpegoptim bụ ngwá ọrụ ahịrị iwu nke enwere ike iji kwalite na mpikota onu faịlụ JPEG, JPG na JFIF na-enweghị atụfu ya n'ezie. Ngwá ọrụ a na-akwado njikarịcha na-enweghị atụ, nke dabere na ịkwalite tebụl Huffman.

Ka ịwụnye jpegoptim na sistemụ Linux gị, gbasoo iwu a site na ọdụ gị.

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

Na sistemụ RPM dị ka RHEL, CentOS, Fedora wdg, ịkwesịrị ịwụnye ma mee ka ebe nchekwa EPEL rụọ ọrụ ma ọ bụ ọzọ, ịnwere ike ịwụnye ebe nchekwa epel ozugbo site na iwu dị ka egosiri:

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

Ọzọ wụnye mmemme jpegoptim site na ebe nchekwa dị ka egosiri:

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

Okwu nke jpegoptm bụ:

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

Ka anyị kpakọba ihe onyonyo tecmint.jpeg na-esonụ, mana tupu imeziwanye onyonyo a, buru ụzọ chọpụta nha onyonyo a n'ezie site na iji du Command dị ka egosiri.

$ du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

Ebe a n'ezie nha faịlụ bụ 6.2MB, ugbu a mpikota onu faịlụ a site na-agba ọsọ:

$ jpegoptim tecmint.jpeg 

Mepee onyonyo abịakọrọ na ngwa nleba ihe onyonyo ọ bụla, ị gaghị ahụ nnukwu ọdịiche ọ bụla. Isi iyi na ihe oyiyi abịakọrọ ga-enwe otu àgwà ahụ.

Iwu a dị n'elu na-ebuli onyonyo a ka ọ bụrụ nha kacha nwee ike. Agbanyeghị, ị nwere ike ịpịkọta onyonyo enyere n'otu nha, mana ọ na-egbochi njikarịcha enweghị atụ.

Dịka ọmụmaatụ, ka anyị mpikota onu n'elu onyonyo site na 5.6MB ruo gburugburu 250k.

$ jpegoptim --size=250k tecmint.jpeg

Ị nwere ike ịjụ ka ị ga-esi mpikota ihe onyonyo na ndekọ ndekọ niile, nke ahụ esighịkwa ike. Gaa na ndekọ ebe ị nwere onyonyo.

[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

Ma wee gbaa iwu na-esonụ ka ịpịkọta onyonyo niile n'otu oge.

[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.

Ị nwekwara ike ịpịkọta ọtụtụ onyonyo ahọpụtara n'otu oge:

$ 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.

Maka nkọwa ndị ọzọ gbasara ngwa jpegoptim, lelee ibe nwoke.

$ man jpegoptim 

Kwakọba ma ọ bụ bulite onyonyo PNG site na Line Command

OptiPNG bụ ngwa ahịrị iwu eji ebuli na mpikota onu faịlụ PNG (eserese netwọkụ mkpanaka) na-atụfughị ogo mbụ ya.

Ntinye na ojiji nke OptiPNG yiri jpegoptim.

Iji wụnye OptiPNG na sistemụ Linux gị, gbasoo iwu a site na ọdụ gị.

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

Mara: Ị ga-enwerịrị ike ịgbanye ebe nchekwa epel na sistemụ RHEL/CentOS gị iji wụnye mmemme optipng.

Okwu mkpokọta optipng bụ:

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

Ka anyị mpikota onu tecmint.png onyonyo, mana tupu ịmalite, buru ụzọ lelee nha onyonyo a n'ezie dịka egosiri:

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

Ebe a n'ezie nha faịlụ nke onyonyo dị n'elu bụ 350K, tinyezie faịlụ a site na ịgba ọsọ:

[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)

Dịka ị na-ahụ na mmepụta dị n'elu, ebelatala nha faịlụ tecmint.png ruo 30.39%. Ugbu a nyochaa nha faịlụ ahụ ọzọ site na iji:

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

Mepee onyonyo abịakọrọ na ngwa onye na-ekiri ihe onyonyo ọ bụla, ị gaghị ahụ nnukwu ọdịiche dị n'etiti faịlụ izizi na abịakọrọ. Isi iyi na ihe oyiyi abịakọrọ ga-enwe otu àgwà ahụ.

Iji mpikota onu ogbe ma ọ bụ ọtụtụ ihe onyonyo PNG n'otu oge, gaa na ndekọ ebe onyonyo niile bi wee mee iwu na-esonụ ka ịpịkọta.

[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)
....

Maka nkọwa ndị ọzọ gbasara ibe akwụkwọ optipng.

$ man optipng

Mmechi

Ọ bụrụ na ị bụ onye na-ahụ maka webụsaịtị ma chọọ ijere onyonyo kachasị mma na webụsaịtị gị ma ọ bụ blọọgụ, ngwaọrụ ndị a nwere ike ịdị oke aka. Ngwá ọrụ ndị a ọ bụghị nanị na-azọpụta ohere diski, kamakwa na-ebelata bandwit mgbe na-ebugote ihe oyiyi.

Ọ bụrụ na ị maara ụzọ ọ bụla ka mma iji nweta otu ihe, mee ka anyị mara site na nkwupụta ma echefula ịkesa akụkọ a na netwọk mmekọrịta gị ma kwado anyị.