Python ile resim düzenleme


Bir klasör içindeki resimleri istenen boyuta göre düzenleyen ve resim üzerine dosya ismini yazan python kodu.

from PIL import Image, ImageDraw, ImageFont
import os

# Klasör yolu, yeniden boyutlandırmak istediğimiz genişlik ve yükseklik, yazı tipi ve yazı boyutu
folder_path = "/Users/macintosh/Desktop/Karsan"
new_width = 200
new_height = 200
font_path = "/Library/Fonts"
font_size = 20

# Klasör içindeki tüm dosyaları listele
for filename in os.listdir(folder_path):
    # Sadece JPEG dosyalarını işle
    if filename.endswith(".jpg") or filename.endswith(".jpeg"):
        # Resmi aç
        with Image.open(os.path.join(folder_path, filename)) as img:
            # Boyutu yeniden boyutlandır
            img = img.resize((new_width, new_height))
            
            # Dosya adını al
            file_name = os.path.splitext(filename)[0]
            
            # Yazı tipi ve boyutunu ayarla
            font = ImageFont.truetype("Arial.ttf", font_size)
            
            # Metnin boyutunu al
            text_width, text_height = font.getsize(file_name)
            
            # Metni içeren transparan bir kutu oluştur
            text_box = Image.new('RGBA', (text_width, text_height), (255, 255, 255, 150))
            
            # Metni kutunun ortasına yerleştir
            draw = ImageDraw.Draw(text_box)
            draw.text((0, 0), file_name, font=font, fill=(0, 0, 0, 255))
            
            # Metin kutusunu resmin altına yerleştir
            img.paste(text_box, (int(new_width/2 - text_width/2), int(new_height * 0.9 - text_height/2)), text_box)
            
            # Dosya boyutunu küçültmek için optimize et
            img.save(os.path.join(folder_path, filename), optimize=True, quality=70)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir