MaSTeR
Yönetici
- Katılım
- 30 Ocak 2022
- Mesajlar
- 39
- Tepkime puanı
- 119
- Puanları
- 350
from PIL import Image, ImageEnhance
import os
# === AYARLAR ===
input_klasoru = "giris" # Orijinal görsellerin bulunduğu klasör
output_klasoru = "sonuc" # Filigranlı çıktıların kaydedileceği klasör
filigran_dosyasi = "filigran.png" # Kullanılacak filigran (şeffaf PNG önerilir)
konum = "center" # 'center', 'top_left', 'top_right', 'bottom_left', 'bottom_right'
filigran_boyut_orani = 0.5 # Görselin %50'si kadar büyük filigran
saydamlik = 0.4 # 0.0 (tam şeffaf) - 1.0 (tam opak)
# Çıktı klasörü oluşturulmamışsa oluştur
if not os.path.exists(output_klasoru):
os.makedirs(output_klasoru)
# Filigranı yükle ve şeffaf hale getir
filigran_orijinal = Image.open(filigran_dosyasi).convert("RGBA")
def filigran_ekle(resim_yolu):
ana_gorsel = Image.open(resim_yolu).convert("RGBA")
w, h = ana_gorsel.size
# Filigranı yeniden boyutlandır
filigran_genislik = int(w * filigran_boyut_orani)
oran = filigran_genislik / filigran_orijinal.width
yeni_boy = (filigran_genislik, int(filigran_orijinal.height * oran))
filigran_yeni = filigran_orijinal.resize(yeni_boy, Image.LANCZOS)
# Saydamlık ayarla
alpha = filigran_yeni.split()[3]
alpha = ImageEnhance.Brightness(alpha).enhance(saydamlik)
filigran_yeni.putalpha(alpha)
# Pozisyon belirle
if konum == "center":
pos_x = (w - filigran_yeni.width) // 2
pos_y = (h - filigran_yeni.height) // 2
elif konum == "bottom_right":
pos_x = w - filigran_yeni.width - 10
pos_y = h - filigran_yeni.height - 10
elif konum == "bottom_left":
pos_x = 10
pos_y = h - filigran_yeni.height - 10
elif konum == "top_right":
pos_x = w - filigran_yeni.width - 10
pos_y = 10
else: # top_left veya geçersiz değer
pos_x = 10
pos_y = 10
# Filigranı ana görsele yapıştır
ana_gorsel.paste(filigran_yeni, (pos_x, pos_y), filigran_yeni)
return ana_gorsel.convert("RGB") # JPEG kaydı için RGB'ye çevir
# === Tüm görselleri işle ===
islenen = 0
for dosya in os.listdir(input_klasoru):
if dosya.lower().endswith((".png", ".jpg", ".jpeg")):
yol = os.path.join(input_klasoru, dosya)
sonuc = filigran_ekle(yol)
sonuc_konumu = os.path.join(output_klasoru, dosya)
sonuc.save(sonuc_konumu)
print(f"✔ {dosya} işlenip kaydedildi → {sonuc_konumu}")
islenen += 1
print(f"\n✅ Toplam {islenen} görsele filigran eklendi.")
Python ile çalışan bu program, giris klasöründeki fotoğrafları sonuc klasörüne filigran ekleyerek çıktı oluşturur. Filigran ayarları kod içerisinde değiştirilebilir.
Çalıştırmak için python ve pillow kütüphanesini indirmeniz gerekiyor.