nomnomnonono's picture
Create src/create.py
34f361d
import base64
import numpy as np
import openai
from PIL import Image, ImageDraw, ImageFont
WIDTH = 720
HEIGHT = 1280
def create_with_upload(
image,
name,
org,
name_font_size=50,
org_font_size=35,
vspace=50,
hspace=50,
between=30,
red=0,
green=0,
blue=100,
):
img = Image.fromarray(image).resize((HEIGHT, WIDTH), resample=Image.BICUBIC)
name_font = ImageFont.truetype("γƒ’γƒ©γ‚­γ‚™γƒŽδΈΈγ‚³γ‚™ ProN W4.ttc", name_font_size)
org_font = ImageFont.truetype("γƒ’γƒ©γ‚­γ‚™γƒŽδΈΈγ‚³γ‚™ ProN W4.ttc", org_font_size)
draw = ImageDraw.Draw(img)
draw.text((hspace, vspace), org, (red, green, blue), font=org_font)
draw.text(
(hspace, vspace + org_font_size + between),
name,
(red, green, blue),
font=name_font,
)
return np.array(img)
def create_with_generate(
prompt,
use_before,
api_key,
name,
org,
name_font_size=50,
org_font_size=35,
vspace=50,
hspace=50,
between=30,
red=0,
green=0,
blue=100,
):
openai.api_key = api_key
if use_before == "Generate new one":
response = openai.Image.create(
prompt=prompt,
n=1,
size="1024x1024",
response_format="b64_json",
)
img_data = base64.b64decode(response["data"][0]["b64_json"])
with open("tmp.png", "wb") as f:
f.write(img_data)
img = Image.open("tmp.png").resize((HEIGHT, WIDTH), resample=Image.BICUBIC)
name_font = ImageFont.truetype("γƒ’γƒ©γ‚­γ‚™γƒŽδΈΈγ‚³γ‚™ ProN W4.ttc", name_font_size)
org_font = ImageFont.truetype("γƒ’γƒ©γ‚­γ‚™γƒŽδΈΈγ‚³γ‚™ ProN W4.ttc", org_font_size)
draw = ImageDraw.Draw(img)
draw.text((hspace, vspace), org, (red, green, blue), font=org_font)
draw.text(
(hspace, vspace + org_font_size + between),
name,
(red, green, blue),
font=name_font,
)
return np.array(img)