animation/fourcell/notes/generate_text.py

30 lines
962 B
Python

import cv2
import numpy as np
fontConstant = 1/6000
w=10200
fontSize = round(fontConstant*w)
#(label_width, label_height), baseline = cv2.getTextSize(label, FONT, FONT_SCALE, FONT_THICKNESS)
#label_patch = np.zeros((label_height + baseline, label_width, 3), np.uint8)
#label_patch[:,:] = bg_color
def generate_text (text, fontSize, rotation) :
rgb_color=(255,255,255)
color = tuple(reversed(rgb_color))
print(rotation)
print(fontSize)
print(text)
print(len(text))
(w, h), baseline = cv2.getTextSize(text, (round(w/2), round(h/2)), cv2.FONT_HERSHEY_PLAIN, 1, [0, 0, 0], 3, cv2.LINE_AA)
w = (fontSize * len(text))
h = (fontSize)
print(f'{w}x{h}')
image = np.zeros((h + baseline, w, 3), np.uint8)
image[:] = color
image = cv2.cvtColor(image, cv2.COLOR_BGR2BGRA)
image = cv2.putText(image, text, (round(w/2), round(h/2)), cv2.FONT_HERSHEY_PLAIN, 1, [0, 0, 0], 3, cv2.LINE_AA)
cv2.imwrite('test.png', image)
generate_text("example", fontSize, 90)