[Tkinter]Pillow 이미지위에 텍스트 쓰기

2020년 10월 16일 by 진아사랑해

    [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: 완전 불투명

 

반응형