728x90
Pillow
from PIL import Image, ImageFont
text = words[10]
font_size = 384
font_filepath = "fonts/gulim.ttc"
text_color = (0, 0, 0, 255)
bg_color = (255, 255, 255, 255)
font = ImageFont.truetype(font_filepath, size=font_size)
mask_image = font.getmask(text, "RGBA")
img = Image.new("RGBA", mask_image.size, color=bg_color)
img.im.paste(color, (0, 0) + mask_image.size, mask_image)
img = img.convert('RGB')
Padding (Optional)
def add_margin(pil_img, top, right, bottom, left, color):
width, height = pil_img.size
new_width = width + right + left
new_height = height + top + bottom
result = Image.new(pil_img.mode, (new_width, new_height), color)
result.paste(pil_img, (left, top))
return result
img = add_margin(img, 50, 50, 50, 50, (255, 255, 255))
img.save("result.png")
위에서 Pillow만 사용하여 text image를 만들 경우 너무 tight하기때문에 필요에 따라 padding을 준다.
728x90
'Temp' 카테고리의 다른 글
[VSCode] Setting for Python Autoformatting (0) | 2023.01.27 |
---|---|
[Paper] A Flexible Solid 3D Model Reconstruction System for Mechanical CAD /CAM Systems (0) | 2023.01.06 |
[Git] 수정했는데 다른 브랜치인 경우 (0) | 2022.10.01 |
하위 버전의 CUDA Toolkit(e.g. CUDA-10.2) 설치가 안되는 이유 (0) | 2022.09.17 |
[Ubuntu 18.04] depends on libc6 (>= 2.34), libssl3 (>= 3.0.0) (0) | 2022.09.13 |