Yadda ake haɓakawa da damfara JPEG ko PNG Hotuna a cikin Layin Linux


Kuna da hotuna da yawa, kuma kuna son haɓakawa da damfara hotunan ba tare da rasa ingancin asalin sa ba kafin loda su zuwa kowane girgije ko ma'ajiyar gida? Akwai aikace-aikacen GUI da yawa da ke akwai waɗanda zasu taimaka muku haɓaka hotuna. Koyaya, anan akwai kayan aikin layin umarni guda biyu masu sauƙi don haɓaka hotuna kuma sune:

  1. jpegoptim - kayan aiki ne don haɓakawa/matsa fayilolin JPEG ba tare da ɓata inganci ba.
  2. OptiPNG - ƙaramin shiri ne wanda ke haɓaka hotunan PNG zuwa ƙarami ba tare da rasa kowane bayani ba.

Yin amfani da waɗannan kayan aikin guda biyu, zaku iya haɓaka hotuna guda ɗaya ko da yawa a lokaci guda.

Matsa ko Inganta Hotunan JPEG daga Layin Umurni

jpegoptim kayan aiki ne na layin umarni wanda za'a iya amfani dashi don ingantawa da damfara fayilolin JPEG, JPG da JFIF ba tare da rasa ainihin ingancin sa ba. Wannan kayan aiki yana goyan bayan ingantawa mara asara, wanda ya dogara akan inganta teburin Huffman.

Don shigar da jpegoptim akan tsarin Linux ɗinku, gudanar da umarni mai zuwa daga tashar ku.

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

A kan tsarin RPM kamar RHEL, CentOS, Fedora da sauransu, kuna buƙatar shigarwa da kunna ma'ajiyar EPEL ko a madadin haka, zaku iya shigar da ma'aunin epel kai tsaye daga layin umarni kamar yadda aka nuna:

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

Na gaba shigar da shirin jpegoptim daga ma'ajiyar kamar yadda aka nuna:

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

Ma'anar jpegoptm shine:

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

Yanzu bari mu matsa hoton tecmint.jpeg mai zuwa, amma kafin inganta hoton, da farko gano girman girman hoton ta amfani da umarnin du kamar yadda aka nuna.

$ du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

Anan ainihin girman fayil ɗin shine 6.2MB, yanzu matsa wannan fayil ɗin ta hanyar gudu:

$ jpegoptim tecmint.jpeg 

Bude hoton da aka matsa a cikin kowane aikace-aikacen kallon hoto, ba za ku sami wani babban bambance-bambance ba. Tushen da hotuna da aka matsa za su sami inganci iri ɗaya.

Umurnin da ke sama yana haɓaka hotuna zuwa matsakaicin girman yuwuwar. Koyaya, zaku iya damfara hoton da aka bayar zuwa takamaiman girman zuwa, amma yana hana haɓakar rashin asara.

Misali, bari mu matsa sama da hoton daga 5.6MB zuwa kusan 250k.

$ jpegoptim --size=250k tecmint.jpeg

Kuna iya tambayar yadda ake damfara hotuna a cikin dukan kundin adireshi, wannan ma ba shi da wahala. Je zuwa kundin adireshi inda kuke da hotuna.

[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

Sannan gudanar da umarni mai zuwa don damfara duk hotuna lokaci guda.

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

Hakanan zaka iya damfara zaɓaɓɓun hotuna a lokaci ɗaya:

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

Don ƙarin cikakkun bayanai game da kayan aikin jpegoptim, duba shafukan mutum.

$ man jpegoptim 

Matsa ko Inganta Hotunan PNG daga Layin Umurni

OptiPNG kayan aiki ne na layin umarni da ake amfani da shi don haɓakawa da damfara fayilolin PNG (mai ɗaukar hoto na cibiyar sadarwa) ba tare da rasa ingancinsa na asali ba.

Shigarwa da amfani da OptiPNG yayi kama da jpegoptim.

Don shigar da OptiPNG akan tsarin Linux ɗinku, gudanar da umarni mai zuwa daga tashar ku.

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

Lura: Dole ne a kunna ma'ajin epel akan tsarin RHEL/CentOS don shigar da shirin optipng.

Gabaɗaya syntax na optipng shine:

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

Bari mu matsa hoton tecmint.png, amma kafin ingantawa, da farko duba ainihin girman hoton kamar yadda aka nuna:

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

Anan ainihin girman fayil ɗin hoton da ke sama shine 350K, yanzu damfara wannan fayil ɗin ta gudana:

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

Kamar yadda kuke gani a cikin fitarwa na sama, an rage girman fayil ɗin tecmint.png zuwa 30.39%. Yanzu sake tabbatar da girman fayil ɗin ta amfani da:

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

Bude hoton da aka matsa a cikin kowane aikace-aikacen kallon hoto, ba za ku sami wani babban bambance-bambance tsakanin ainihin fayilolin da aka matsa ba. Tushen da hotuna da aka matsa za su sami inganci iri ɗaya.

Don damfara tsari ko hotuna na PNG da yawa a lokaci ɗaya, kawai je wurin directory inda duk hotuna ke zaune kuma gudanar da umarni mai zuwa don damfara.

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

Don ƙarin bayani game da optipng duba shafukan mutum.

$ man optipng

Kammalawa

Idan kai mai kula da gidan yanar gizo ne kuma kuna son yin hidimar ingantattun hotuna akan gidan yanar gizonku ko blog, waɗannan kayan aikin na iya zama da amfani sosai. Wadannan kayan aikin ba wai kawai adana sararin faifai ba, amma har ma suna rage bandwidth yayin loda hotuna.

Idan kun san wata hanya mafi kyau don cimma abu iri ɗaya, sanar da mu ta hanyar sharhi kuma kar ku manta da raba wannan labarin akan hanyoyin sadarwar ku kuma ku tallafa mana.