JPG Resimleri, Resim Dosya Biçimini İyileştirerek Daha Az Yer Tutan Resimler Biçimine Getirme
Temmuz 2004
İlker Fıçıcılar
Tarayıcıdan taradığımız ya da internetten çektiğimiz jpeg resimler
genellikle gereğinden çok yer tutarlar. Bunları, resim niteliğinden
vazgeçmeksizin sıkıştırmak olası. Aşağıdaki yöntemle, bir klasörde bulunun
bütün jpg resimlerin dosya boyutunu bir kerede yarı yarıya düşürebiliyoruz.
WWW sayfanız varsa, sayfanızdaki resimleri bu yöntemle
sıkıştırmanız www sayfanızın yarı sürede açılmasını, daha çabuk
görüntülenmesini sağlayacaktır. Eğer isterseniz resim niteliğini de
düşürerek www sayfalarınızın çok daha hızlı açılmasını da sağlayabilirsiniz.
Çoğu www sayfasında, düşük nitelikli jpg resimlerin gösterilmesi sorun
oluşturmaz.
Bu yöntem NetPBM paketindeki jpegtopnm
ve pnmtojpeg yazılımlarını kullanır. Oldukça kullanışlı olan bu paketi
http://netpbm.sourceforge.net/
adresinden edinebilirsiniz.
JPG Resimleri Kayıpsız İki Kat Sıkıştırma
Aşağıdaki bash betiğini bir dosyaya yazıp ( ben
jpgazalt dosya adını kullandım ), dosya yolunuzdaki
uygun bir klasöre yerleştirip ( /usr/local/bin 'e örneğin ),
çalıştırılabilir dosya biçimine getirdikten ( chmod 755 ile ) sonra
resimlerinizin bulunduğu klasöre geçerek bu yeni komutunuzu çalıştırmanız,
resimlerinizi iyileştirmeniz (optimize etmeniz) için yeterli:
#!/bin/bash
#
# jpgazalt
#
# JPG resim dosyalarının boyutunu niteliği koruyarak 2 kat azaltır.
#
# v1.0
# Temmuz 2004
# İlker Fıçıcılar
# http://www.KlavyeMonitor.com/
#
ls *.jpg *.JPG|while read resim
do
jpegtopnm "$resim" 2>/dev/null |pnmtojpeg --optimize > .gecici 2>/dev/null
mv .gecici "$resim"
done
JPG Resimleri Kayıplı Üç-Dört Kat Sıkıştırma
Resim niteliğini biraz düşürerek daha çok sıkıştırmak istersek
pnmtojpeg komutuna --quality=... ile nitelik ölçü değerini
75'ten az olacak biçimde verebiliriz. Örneğin --optimize --quality=50
değerleri resim dosya boyutunu üçte birine düşürmek için uygun:
#!/bin/bash
#
# jpgazalt
#
# JPG resim dosyalarının boyutunu niteliği düşürerek 3 kat azaltır.
#
# v1.1
# Temmuz 2004
# İlker Fıçıcılar
# http://www.KlavyeMonitor.com/
#
ls *.jpg *.JPG|while read resim
do
jpegtopnm "$resim" 2>/dev/null |pnmtojpeg --optimize --quality=50 > .gecici 2>/dev/null
mv .gecici "$resim"
done
İçeriği Aynı Olup, Dosya Adı Ayrı Olan Dosyaları Teke İndirme
Kimi durumlarda, aynı resim dosyası değişik dosya adlarıyla aynı
klasörde bulunabilmekte. Bu, birkaç kez yinelenmiş dosyaları bulup
sayılarını teke indirerek de resim yığınını gereksiz şişkinlikten
kurtarabiliriz.
ayniazalt adlı aşağıdaki bash betiğini,
/usr/local/bin/ayniazalt dosyasına yazıp
chmod 755 /usr/local/bin/ayniazalt komutu ile
çalıştırılabilir biçime getirerek resim yığının bulunduğu klasörde
ayniazalt diyerek kullanabilirsiniz:
#!/bin/bash
#
# ayniazalt
#
# 14 Temmuz 2004
# sürüm: 0.2
# İlker Fıçıcılar
# http://www.KlavyeMonitor.com/
#
# Bir klasördeki aynı dosyaları siler.
#
# Silinen dosyalar /tmp/cop klasöründeki çöp kutusuna,
# bugünün tarihini taşıyan bir klasöre atılır.
#
cop="/tmp/cop/"
mkdir /tmp/cop
kutu=`date +%Y%m%d`
kutu="$cop$kutu"
mkdir "$kutu" 2> /dev/null
chmod 777 "$kutu"
echo "Çöp kutusu: $kutu"
echo
we="sdsdsdsdsdawewewe"
ls -Sr|grep -v "^\."|while read qw
do
er=0
rt=`file "$qw"|cut -f2- -d:`
ty=`file "$we"|cut -f2- -d:`
if [ "$rt" == "$ty" ];then
diff -q "$we" "$qw" > /dev/null
if [ $? -eq 0 ];then
echo "$we == $qw"
echo $?
echo
ds=`echo "$qw"|grep "(1)"`
if [ "$ds" != "" ];then
mv "$qw" "$kutu"
else
mv "$we" "$kutu"
fi
fi
fi
we=$qw
done
Bu betiği sadece resimlerde değil her tür dosyada
kullanabilirsiniz. Betik, yinelenen dosyaları elerken öncelikli olarak
sonunda "(1)" gibi ekler olanları siler. Silinen dosyaları ise /tmp/cop
klasörüne taşır.
Bu yazıdaki üç betiği (bash script) aşağıdaki URL'deki zipli
dosyada bulabilirsiniz:
http://www.KlavyeMonitor.com/dosya/dosya_boyutu_azaltma-v1.0.zip
Temmuz 2004
ilker Fıçıcılar
İlgili Benzer Yazılar:
Arama önerileri:
resim sıkıştırma,
optimizasyon,
grafik,
resimleri,
resimler,
resim,
netpbm,
jpegtopnm,
pnmtojpeg,
optimize,
linux,
jpeg,
jpg,
pnm,
ppm,
png,
gif,
iyileştirme,
Kaynak gösterecekler için referans:
"Resim Dosyalarının Kapladıkları Sabit Disk Alanını Azaltma",
İlker Fıçıcılar,
http://www.KlavyeMonitor.com/resim_boyutu_azaltma.html
|