- [Tkinter]Pillow 이미지위에 텍스트 쓰기 목차
아래와 같이 프로그램을 하면 이미지위에 텍스트가 출력된다
from PIL import Image, ImageDraw, ImageFont
# get an image
base = Image.open("C:\\Users\\zzang\\Downloads\\touch_gui\\realGUI\\images\\1.png").convert("RGBA")
# make a blank image for the text, initialized to transparent text color
txt = Image.new("RGBA", base.size, (255,255,255,0)) <- RGBA 모델 사용
# get a font
fnt = ImageFont.truetype("C:\\kivy\\fonts\\malgun.ttf", 40)
# get a drawing context
d = ImageDraw.Draw(txt)
# draw text, half opacity
d.text((10,10), "Hello", font=fnt, fill=(255,255,255,128))
# draw text, full opacity
d.text((10,60), "World", font=fnt, fill=(255,255,255,255))
out = Image.alpha_composite(base, txt)
out.show()
pillow.readthedocs.io/en/stable/reference/ImageDraw.html
Image.alpha_composite(base, txt)
- base위에 txt를 합성한다.
- 두 이미지 RGBA 모드이고 동일한 크기이어야한다
RGBA - Red, Green, Blue, Alpha 의 약자로 Alpha는 불투명도를 나타낸다.
- 128: 반불투명, 255: 완전 불투명
'python & 라즈베리파이' 카테고리의 다른 글
[Python]'StartPage' object has no attribute 'scr_test' (0) | 2020.10.26 |
---|---|
[Tkinter]이미지를 사진뷰어가 아니라 프레임에 출력하는 방법 (0) | 2020.10.23 |
[python](unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape (0) | 2020.10.14 |
[Python] 형(type) 변경 (0) | 2020.10.13 |
[Tkinter] command에서 lambda 사용 (0) | 2020.09.21 |