티스토리 뷰
728x90
반응형
말머리
최근에 블로그 글을 쓰면서 계속 반복되는 행동 중 하나가 바로 이미지에 워터마크를 삽입하는 작업이었습니다.
예를 들어 하단의 좌측 이미지에 하단 우측의 돔돔이블로그 워터마크를 넣는다고 생각해봅시다.
참고루 우측의 돔돔이블로그 워터마크는 배경색이 투명색입니다. 위 사진에서는 임시로 검정색으로 해둔 것입니다.
워터마크 넣어보기
위에서 보았던 좌측의 메이플스토리 이미지 파일이름이 maple_image.png 이고, 우측의 워터마크 이미지 파일이름이 watermark_image.png 입니다.
import PIL
my_image = Image.open('maple_image.png')
watermark = Image.open('watermark_image.png')
watermark = watermark.resize((230, 60)) # 230px 60px 로 워터마크 사진 크기 조절
x = my_image.size[0] - watermark.size[0]
y = my_image.size[1] - watermark.size[1]
my_image.paste(watermark, (x,y), watermark)
my_image.save('new_'+orig_imgname)
우선 Image.open 함수로 각각의 이미지를 불러오고, 워터마크 이미지를 적당한 크기로 조절해줍니다. 저 같은 경우에는 가로 230픽셀, 세로 60픽셀 정도로 조절하였습니다.
그런 다음에 x와 y 좌표를 지정해서 워터마크 이미지가 메이플스토리 이미지에서 어디에 위치하게 할 건지 정해줘야 합니다. 저는 여기서 메이플스토리 이미지에서 워터마크 이미지 크기를 빼서 우측 최하단에 위치하도록 했습니다.
그리고 paste 함수로 watermark 이미지를 메이플스토리 이미지의 x와 y 위치에 watermark 이미지를 mask로 설정해서 이미지를 붙여넣어줍니다.
마지막으로 save 함수로 new_maple_image.png 라는 파일이름으로 새로운 파일로 저장해줍니다.
워터마크 넣기 결과
결과를 보면 아까 언급한 것처럼 우측 최하단에 정확히 가로 230px 세로 60px 사이즈로 들어간 것을 확인할 수 있습니다!
- 끝 -
728x90
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[오류해결] ModuleNotFoundError: No module named 'pwd' (0) | 2022.04.17 |
---|---|
[Python] Query String to Dictionary - URL 파라미터를 Dict로 만드는 법 (0) | 2022.03.10 |
[mongoDB] pymongo 3.7 버전부터 collection.count()가 안된다!!! (0) | 2022.02.08 |
[Django] django.db.utils.OperationalError: near "[]": syntax error 오류해결 (0) | 2022.01.28 |
[Python] 파이썬에서 무한루프(while문) 탈출하는 법 - break, exit, except (0) | 2022.01.28 |
댓글