데이터 분석가

파이썬 이미지 워터마크 프로젝트(Udemy Final Project 3) 본문

유데미 부트캠프 프로젝트(Final)

파이썬 이미지 워터마크 프로젝트(Udemy Final Project 3)

PlintAn 2023. 6. 1. 10:00

안녕하세요 !

 

이번 시간에는 유데미 프로젝트 3번째로 이미지에 워터마크를 만들어주는 파이썬 프로그램을

 

만들어 보겠습니다 ! 저작권은 소중하니까요 !

 

from tkinter import Tk, Button, filedialog
from PIL import Image, ImageDraw, ImageFont

def add_watermark(image_path):
    # 워터마크 이미지 경로
    watermark_path = "경로"

    # 이미지 열기
    image = Image.open(image_path)
    width, height = image.size

    # 워터마크 이미지 열기
    watermark = Image.open(watermark_path)
    watermark = watermark.convert("RGBA")  # 알파 채널을 가진 이미지로 변환

    watermark_width, watermark_height = watermark.size

    # 워터마크 이미지의 배경을 투명하게 만들기
    watermark_with_alpha = Image.new("RGBA", watermark.size)
    for x in range(watermark_width):
        for y in range(watermark_height):
            r, g, b, a = watermark.getpixel((x, y))
            # 흰색 (255, 255, 255)의 픽셀을 완전히 투명하게 만듦
            if (r, g, b) == (255, 255, 255):
                a = 0
            watermark_with_alpha.putpixel((x, y), (r, g, b, a))

    # 이미지에 워터마크 추가
    watermark_position = (width - watermark_width, height - watermark_height)
    image.paste(watermark_with_alpha, watermark_position, watermark_with_alpha)

    # 워터마크된 이미지 저장
    output_path = 'watermarked_image.png'
    image.save(output_path)

    # 이미지 미리보기
    preview = Image.open(output_path)
    preview.show()

# 이미지 업로드 함수
def upload_image():
    # 파일 탐색기 대화상자 열기
    filetypes = [('Image Files', ['.jpeg', '.jpg', '.png'])]
    image_path = filedialog.askopenfilename(filetypes=filetypes)

    # 이미지가 선택된 경우 워터마크 추가
    if image_path:
        add_watermark(image_path)

# Tkinter 윈도우 생성
window = Tk()

# 버튼 생성
upload_button = Button(window, text='Upload Image', command=upload_image)
upload_button.pack()

# 윈도우 실행
window.mainloop()

저는 기존 프로그램에서 워터마크에 해당하는 파일의 배경 투명화까지 진행을 했습니다 !

 

자 이렇게 코드를 실행하여 워터마크 원하는 파일을 적용시키면 !

 

 

이미지 워터마킹

자 이제 이 그림은 제것입니다 !

 

정말 어렵지 않네요 !

Comments