Bilgisayarınızda yeterince görüntü varsa ve bunlar çok fazla yer kaplıyorsa, kaliteden ödün vermeden boyutlarını küçültmek kesinlikle mümkündür. Bu, görüntüleri bulut depolama alanına yüklerken de çok yararlı olabilir.
JPEG ve PNG internetteki en yaygın görüntü formatlarıdır, bu nedenle neredeyse tüm görüntüleri optimize edebileceksiniz
JPEG, JPG ve JFIF görüntülerini kalite kaybı olmadan sıkıştırmak için kullanılabilecek bir komut satırı aracı olan jpegoptim adlı bir yardımcı program vardır. Yardımcı program görüntüleri Huffman tablolarına göre optimize eder. JPEG algoritması olduğu gibi sıkıştırma kullanır, ancak bu sıkıştırma kalite kaybı kullanılarak elde edilir ve burada görüntüyü değiştirmeden boyutu optimize edebiliriz.
Yardımcı programı Ubuntu, Debian ve tabanlı dağıtımlara kurmak için çalıştırın:
$ sudo apt install jpegoptim
Fedora, Red Hat, CentOS ve bunlara dayalı diğer dağıtımlarda işler biraz daha karmaşıktır, önce epel-release deposunu eklemeniz gerekecektir. Bunu aşağıdaki gibi bir komutla yapabilirsiniz:
$ sudo yum install epel-release
Veya:
$ sudo dnf install epel-release
Daha sonra jpegoptim'i yeni eklediğiniz depodan kurabilirsiniz:
$ sudo yum install jpegoptim
Ya da:
$ sudo dnf install jpegoptim
Şimdi jpegoptim'in nasıl kullanılacağına bir göz atalım. Linux görüntü sıkıştırma yardımcı programını kullanmak çok kolaydır. Tek yapmanız gereken programı çalıştırmak ve ona bir dosya adı iletmektir. Sözdizimi bu şekildedir:
$ jpegoptim optiona file_name.jpeg
Şimdi yardımcı program seçeneklerine bakalım:
-d
- bitmiş görüntülerin kaydedileceği klasörü belirtin;f -
zorunlu optimizasyon;m -
kalite göstergesi, kayıpsız sıkıştırmayı iptal eder ve kalite seviyesini 0 ila 100 arasında ayarlar, ne kadar fazla olursa o kadar iyidir;n -
gerçek optimizasyon gerçekleştirmez, sadece sonucu gösterir;S -
bitmiş görüntünün boyutunu ayarlar, yüzde veya kilobayt olarak belirtilebilir;-o
- kaynak dosyayı değiştirir;p -
zaman damgalarını kaydeder;P -
dosya haklarını kaydeder.Şimdi jpegoptim ile linux'ta görüntülerin nasıl optimize edileceğini görelim. İlk olarak, orijinal boyuta bakalım:
$ du image.jpg
Daha sonra en basit optimizasyonu yapacağız:
$ jpegoptim image.jpg
Sonra tekrar boyuta bakıyoruz:
$ du image.jpg
Gördüğünüz gibi, jpg sıkıştırması işe yaradı ve resmi herhangi bir grafik programında açtığınızda kalitede hiçbir fark veya bozulma olmayacak, orijinal ve bitmiş resim aynı olacaktır. Soldaki optimize edilmiş olan, sağdaki ise orijinal:
İsterseniz görüntüyü belirli bir boyuta kadar sıkıştırabilirsiniz, ancak bu durumda görüntü kayıpsız olmayacaktır:
$ jpegoptim --size=250k image.jpeg
Görüntü sıkıştırılacak, ancak kalite gözle görülür şekilde bozulacaktır. Çok sayıda görüntü varsa, toplu sıkıştırmayı çok kolay bir şekilde kullanabilirsiniz, sadece görüntülerin bulunduğu klasöre gidin ve ardından örneğin bir dosya yerine bir maske belirterek sıkıştırma komutunu çalıştırın:
$ cd images/
jpegoptim *.jpg
Aynı anda birden fazla görüntüyü de listeleyebilirsiniz:
$ jpegoptim image1.jpg image2.jpg
Belirli bir klasördeki tüm görüntüleri optimize etmek için find ile birlikte xargs komutunu kullanabilirsiniz. Örneğin, geçerli klasördeki tüm görüntüleri ~/compressed klasörüne taşı ile sıkıştırın:
$ find . -name "*.jpg" | xargs jpegoptim -d ~/compressed -p
İşte bu kadar, artık Linux'ta jpg resimlerini nasıl sıkıştıracağınızı biliyorsunuz. Daha sonra, png'nin nasıl sıkıştırılacağı hakkında konuşacağız. Bu da çok basittir.
PNG veya Taşınabilir Ağ Grafikleri, sıkıştırma ve renk üretimi açısından kusurlu GIF formatının yerini almak üzere tasarlanmış bir bitmap görüntü formatıdır. PNG görüntülerinin boyutu, renk derinliği, interlacing, sıkıştırma filtresinden önce, kullanılan sıkıştırma algoritması vb. gibi çeşitli faktörlere bağlı olarak büyük ölçüde değişebilir.
OptiPNG, PNG görüntülerini optimize etmenizi sağlayan bir konsol yardımcı programıdır. Yani boyutu sıkıştırın, meta verileri kurtarın, bütünlüğü kontrol edin, vb. OptiPNG ile dosyaları kalite kaybı olmadan sıkıştırabilirsiniz, tıpkı Jpeg formatında yaptığımız gibi.
Eğer Ubuntu kullanıyorsanız, program resmi depolarda bulunmaktadır ve çok kolay bir şekilde kurabilirsiniz. Debian, Ubuntu ve türevlerinde optipng yüklemek için yazın:
$ sudo apt install optipng
Red Hat, CentOS veya Fedora'da da tamamen aynı şekilde yapılır, sadece farklı bir paket yöneticisi kullanılır:
$ sudo yum install optipng
Veya:
$ sudo dnf install optipng
Yardımcı programın sözdizimi çok basittir. Bunu jpegoptim ile tamamen aynı şekilde kullanabilirsiniz:
$ optipng ioptions file_name.png
Şimdi yardımcı program seçeneklerine bakalım:
-backup -
değiştirilen dosyaların kopyalarını kaydeder;-dir -
dosyaların yazılacağı klasör;force -
giden dosyayı yazmaya zorla;-out
- giden
dosyayı belirtilen dosyaya yaz;simulate -
herhangi bir eylem gerçekleştirmez, sadece sonucu gösterir;o -
sıkıştırma seviyesini 0 ile 7 arasında ayarlar.Şimdi linux'ta png'yi optimize etmeye çalışalım. Önce dosya boyutunu görelim:
$ df -h image.png
Görüntü sıkıştırması yapmak için aşağıdaki komutu kullanın:
$ optipng image.png
Sonra tekrar boyuta bakın, bu örnekte görüntü çok küçük olduğu için farklar görünmüyor, ancak daha büyük bir boyutta önemli olacaklar:
Burada da sıkıştırma png linux kayıpsız görüntüler, yani tam olarak aynı görüntüyü sadece daha küçük olarak elde edeceksiniz. Sıkıştırma seviyesini de belirleyebilirsiniz, resmin kalitesini etkilemez, ancak programın çalışma süresini doğrudan etkiler. Değer 0 ila 7 arasında olabilir ve ne kadar fazla olursa, sıkıştırma o kadar güçlü ve işleme o kadar uzun olacaktır:
$ optipng -o 7 impge.png
Görüntülerin toplu işlenmesi için jpeg ile çalışmadaki aynı prensibi kullanabilirsiniz:
$ cd images/
$ optipng *.png
Artık linux görüntü optimizasyonunun nasıl yapıldığını biliyorsunuz.