Web sitesine yüklenen fotoğraflara watermark eklemem gerektiği için küçük bir script yazmıştım. Belki başka birilerine de lazım olur ya da ileride, dönüp bir bakmam gerekir diye buraya da yazayım dedim.

Python ile resim üzerine yazı yazmak için PIL modülünü kullanacağız. Bu modül resimler üzerinde manipülasyon yapmamıza izin veriyor.

Kütüphaneyi pip install pillow ile kurduktan sonra işe başlayalım.

1. Gerekli dosyaları topla

Önce resim.png dosyasını açıp image nesnesini oluşturdum. Ardından image nesnesine çizecek olan ImageDraw nesnesini oluşturdum. Son olarak yazının yazılmasını istediğim yazı tipini(Helvatica) ve yazı puntosunu(12) belirleyen ImageFont nesnesini oluşturuyorum.


from PIL import Image, ImageDraw, ImageFont

image = Image.open('resim.png')
draw = ImageDraw.Draw(image)
font = ImageFont.truetype('helvetica.ttf', 12)

Seçtiğinin font dosyasını bilgisayarınızda bulundurmalısınız elbette. FontSquirrel ya da benzeri bir siteden beğendiğiniz bir fontu ücretsiz indirebilirsiniz.

2. Yazı özelliklerini belirle

Yazılacak metni belirleyip yazının hangi pozisyonda (x, y) bulunacağını pixel cinsinden verip, yazı rengini (siyah) RGB olarak belirliyorum.


text = 'Merhaba Python!'
position = (0, 0)
color = (0, 0, 0)

3. Çiz ve kaydet

Son olarak yazıyı resmin üzerine yazıp dilediğim bir isimle ve belirlediğim kalite (%60) ile kaydediyorum.


draw.text(position, text, font=font, fill=color)

image.save('yeni-resim.png', 'PNG', quality=60)

Oldukça basit. Kolay gelsin!