Python #7, Python ile resim boyutlandırma

çook uzun bir aradan sonra merhaba, bugün amacım birçok girdi yaparak anasayfanın eski havasını silmek,bayadır
blog ile ilgilenemedim malum, bugün Python ile nasıl resimleri boyutlandırabiliriz onun örnek kodunu yayınlayacağım

çook uzun bir aradan sonra merhaba, bugün amacım birçok girdi yaparak anasayfanın eski havasını silmek,bayadır
blog ile ilgilenemedim malum, bugün Python ile nasıl resimleri boyutlandırabiliriz onun örnek kodunu yayınlayacağım

Kodumuzun birinci aşaması

from PIL import Image
import glob, os
size_file = 300,300
for f in glob.glob("*.png"):
   file, ext = os.path.splitext(f)
   img = Image.open(f)
   img.thumbnail(size_file, Image.ANTIALIAS)
   img.save("thumb_" + file, "JPEG")


burada PIL kütüphanesinin içerisinde bulunan Image fonksiyonunu aldık,
ardından işletim sistemi ve dosya yolundaki değişkenlerde sıkıntı çekmemek için glob ve os kütüphanelerini komple programımıza dahil ettik,
arıdan çalıştığımız dizindeki tüm png dosyalarını for döndüsü ile f değişkeni içerisine glob’ladık (aslında çok gereksiz bir kelime oldu, bunun yerinde aktardık desek düşük olmaz sanırım)
dosyamızın yerinde olup olamadığını kontrol edip,daha önceden size_file isimli değişkene atadığımız 300,300 dosya en boy değerlerini dosyamıza ulaşıp thumbnail alt fonksiyonu ile dosyamıza uyguladık.enson olarak dosyamızın adının başına thumb_ ibaresi ekleyerek dosyamızı naaptık ? evet kaydettik.

Bu örnekte dosyamız 300×300 örneklemeli olarak boyutlandırıldı ancak, burada en boy oranına sadık kalmadığımız için çok kötü görünen bir yapıda resmimiz oldu.

peki en boy oranına sadık kalarak yüzdesel olarak küçültme yapan bir fonksiyon yazmaya çalışırsak ?

import glob
import PIL
from PIL import Image
for f in glob.glob("*.jpg"):
 img = Image.open(f)
 dim_percent=(100/float(img.size[0]))
 dim_size=int((float(img.size[1])*float(dim_percent)))
 img = img.resize((100,dim_size),PIL.Image.ANTIALIAS)
 if f[0:2] != "trumb_":
  img.save("thumb_" + f, "JPEG")

evet ilk örnektekinden farklı olarak bu sefer oranlı şekilde küçültme işlemi yaptık.
umarım faideli olur.

“Python #7, Python ile resim boyutlandırma” için 2 fikir

  • aslanon 15 Haziran 2010, 08:48 tarihinde

    Çok teşekkürle.Gerçekten işime çok yaradı.Resimleri 800X600 ebatlarına getirmek için.

  • CeaSeR 17 Haziran 2010, 08:15 tarihinde

    İşinize yaradıysa ne mutlu (:

Sende bir şeyler ekle


Bu sitedeki bütün yazıların hakları saklıdır, hepsi Ali GÜNDOĞDU'ya aittir ve Creative Commons lisansı ile lisanslıdır. Lütfen alıntı yaparken link veriniz ve yazarı belirtiniz. Altyapı : Wordpress , Üst Yapı : VuskaBlogThemev1.0 by Blog.Vuska.NET aka Ali GÜNDOĞDU