본문 바로가기
파이썬 언어

Python으로 폴더안의 모든 사진에 워터마크 넣기

by treeCoder 2021. 9. 21.

import os, glob, random
from PIL import Image

import PIL.Image as Image
import PIL.ImageDraw as ImageDraw
import PIL.ImageFont as ImageFont

def wtrmk(fileName):

      fonts_dir = os.path.join(os.environ['WINDIR'], 'Fonts')
      font_name = 'NanumMyeongjoExtraBold.TTF' # 'verdana.ttf' 
      font = ImageFont.truetype(os.path.join(fonts_dir, font_name), 30)

      img = Image.open(fileName)
      size = width, height = img.size
      
      draw = ImageDraw.Draw(img)
      draw.text((0, 0), "예담플라워\nYedam Flower", (255, 255, 255), font=font)


      rotAng = random.randint(-15, 15+1) #  -15 deg. <= rotAng  <= 15 deg.
      
      x_pos = int(width  / 2) - abs(int(rotAng * 7.3)) # give it a little variation
      y_pos = int(height / 2) - abs(int(rotAng * 2.7)) # using already generated variable rotAng
      
      if rotAng < 0 :
            rotAng += 360
            
      wtrMarkFile = '.\\Watermark\\watermarkBY.png'
      mask_img = Image.open(wtrMarkFile).rotate(rotAng).convert('L')
      
      img.paste("white", (x_pos, y_pos), mask_img)
      #img.show()
      img.save(fileName)

if __name__ == '__main__' :
   images = glob.glob('*.jpg')

   for img in images:
       wtrmk(img)


   

댓글