Arkasokak Logo
Kayıtsız, hoş geldiniz.





Forum Arkasokak > HAYATIN İÇİNDEN > İnternet Teknoloji Tasarım » JPG Resimleri, Resim Dosya Biçimini İyileştirerek Daha Az Yer Tutan Resimler Biçimine
JPG Resimleri, Resim Dosya Biçimini İyileştirerek Daha Az Yer Tutan Resimler Biçimine Getirme Tarayıcıdan taradığımız ya da internetten çektiğimiz jpeg ...

Cevap
  #1  
Eski 07-04-2006, 02:06 PM
GeCe kullanıcısının avatarı
Asil Üye
 
Giriş: Nov 2005
Konum: yaLova&iStanbuL
Mesaj: 808
GeCe is a splendid one to beholdGeCe is a splendid one to beholdGeCe is a splendid one to beholdGeCe is a splendid one to beholdGeCe is a splendid one to beholdGeCe is a splendid one to beholdGeCe is a splendid one to behold
Karizma JPG Resimleri, Resim Dosya Biçimini İyileştirerek Daha Az Yer Tutan Resimler Biçimine

JPG Resimleri, Resim Dosya Biçimini İyileştirerek Daha Az Yer Tutan Resimler Biçimine Getirme

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://teknik.ekitap.gen.tr/
#
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://teknik.ekitap.gen.tr/
#
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://teknik.ekitap.gen.tr/
#
# 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://teknik.ekitap.gen.tr/betik/d...zaltma-v1.0.zip
imza

ĢěĆę®


mükemmeL deqiLim ama FarkLıyımm ßi oqLum oLana kadaR €n iyiSi ßenim

ßiLgiyi aLip Su$mak oLmaz..! ßi te$eKküR + rep ( cokmu sizce ) teRaziye tıkLayıı veR gaRı
GeCe kullanıcısına ICQ aracılığı ile mesaj yolla GeCe kullanıcısına AIM aracılığı ile mesaj yolla GeCe kullanıcısına MSN aracılığı ile mesaj yolla GeCe kullanıcısına Yahoo aracılığı ile mesaj yolla
Alıntı Yaparak Cevapla
Cevap

Konu Araçları
Görünüm Modları



Saat 07:02 AM.


Copyright ©2005 - 2008 Arkasokak.Net
Tasarım: NoDRaC
Bize Ulaşın - Gizlilik İlkesi - En Üst
Powered by vBulletin
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0