[python] Pillow을 사용하여 이미지에 워터마크를 추가하는 방법
이미지에 워터마크를 추가하는 것은 이미지 처리 및 보호에 유용한 기능입니다. Python에서는 PIL(Python Imaging Library)의 포크인 Pillow를 사용하여 간단하게 워터마크를 추가할 수 있습니다.
Pillow 설치하기
Pillow를 사용하기 위해서는 먼저 Pillow를 설치해야 합니다. 아래의 코드를 사용하여 Pillow를 설치할 수 있습니다.
pip install pillow
이미지에 워터마크 추가하기
Pillow를 사용하여 이미지에 워터마크를 추가하는 방법은 간단합니다. 다음은 이미지에 텍스트 워터마크를 추가하는 예제입니다.
from PIL import Image, ImageDraw, ImageFont
# 이미지 열기
image = Image.open("image.jpg")
# 워터마크 텍스트 설정
text = "My Watermark"
font = ImageFont.truetype("arial.ttf", 36) # 원하는 폰트 및 크기로 설정
# 이미지에 워터마크 추가
draw = ImageDraw.Draw(image)
text_width, text_height = draw.textsize(text, font)
x = image.width - text_width - 10
y = image.height - text_height - 10
draw.text((x, y), text, font=font)
# 이미지 저장
image.save("image_with_watermark.jpg")
위의 예제 코드는 image.jpg
파일에 텍스트 워터마크를 추가한 뒤 image_with_watermark.jpg
로 저장하는 예제입니다. 원하는 폰트와 크기로 워터마크를 설정할 수 있습니다.
추가적인 설정 및 기능
Pillow는 다양한 추가적인 설정과 기능을 제공합니다. 아래는 몇 가지 예시입니다.
- 워터마크 위치 및 투명도 조정
alpha = 128 # 투명도(0~255) watermark = Image.new("RGBA", image.size, (0, 0, 0, 0)) watermark_draw = ImageDraw.Draw(watermark) watermark_draw.text((x, y), text, font=font, fill=(255, 255, 255, alpha)) watermarked_image = Image.alpha_composite(image.convert("RGBA"), watermark)
- 이미지 리사이즈하여 워터마크 추가
resized_image = image.resize((new_width, new_height))
- 이미지 회전하여 워터마크 추가
rotated_image = image.rotate(angle, expand=True)
- 워터마크 이미지 추가
watermark_image = Image.open("watermark.png") image.paste(watermark_image, (x, y), watermark_image)
위의 예시들은 Pillow의 일부이며, 더 다양한 설정과 기능을 활용할 수 있습니다.
결론
Python의 Pillow 라이브러리를 사용하면 이미지에 워터마크를 쉽게 추가할 수 있습니다. Pillow의 다양한 기능을 활용하여 원하는 방식으로 워터마크를 커스터마이즈할 수 있습니다.