Added Main Programm

Added the Main Programm i coded before!
This commit is contained in:
Jonas
2022-09-27 15:08:14 +02:00
committed by GitHub
parent 98ce09c169
commit 36066b297e
18 changed files with 193 additions and 0 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

41
render/utils/readfile.py Normal file
View File

@@ -0,0 +1,41 @@
from render.utils.theme import Theme
def readfile(file):
liste = []
i = 0
nummer = ""
dataname = ""
bold = ""
fontname = ""
color1 = ""
color2 = ""
color3 = ""
for line in file:
if i == 0:
nummer = line.rstrip()
i += 1
elif i == 1:
dataname = line.rstrip()
i += 1
elif i == 2:
bold = line.rstrip()
i += 1
elif i == 3:
fontname = line.rstrip()
i += 1
elif i == 4:
color1 = line.rstrip()
i += 1
elif i == 5:
color2 = line.rstrip()
i += 1
elif i == 6:
color3 = line.rstrip()
i += 1
elif i == 7:
i = 0
print("Geladendes Thema: ", nummer, dataname, bold, fontname, color1, color2, color3)
liste += [Theme(nummer, dataname, bold, fontname, color1, color2, color3)]
return liste

View File

@@ -0,0 +1,17 @@
from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw
from render.utils.text_align import get_text_align
def render_worker(name: str, theme: int, themes):
img = Image.open(f"render/themes/{themes[theme].getdataname()}")
font = ImageFont.truetype(f"render/fonts/{themes[theme].getfontname()}", int(themes[theme].getbold()))
draw = ImageDraw.Draw(img)
msg = name
draw.text(get_text_align(msg, font, (1024, 1024)), msg, (int(themes[theme].getcolor1()), int(themes[theme].getcolor2()), int(themes[theme].getcolor3())), font=font)
img.save(f"render/outputs/{name}{theme}.png")
return f"render/outputs/{name}{theme}.png"

16
render/utils/speicher Normal file
View File

@@ -0,0 +1,16 @@
from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw
from render.utils.text_align import get_text_align
img = Image.open("themes/1.png")
font = ImageFont.truetype("fonts/font1.ttf", 180)
width, height = 1024, 1024
draw = ImageDraw.Draw(img)
msg = "Himmelberg"
draw.text(get_text_align(msg, font, (1024, 1024)), msg, (0, 0, 0), font=font)
img.save("test.png")

View File

@@ -0,0 +1,13 @@
from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw
def get_text_align(text, font, pic_size):
ascent, descent = font.getmetrics()
w = font.getmask(text).getbbox()[2]
h = font.getmask(text).getbbox()[3] + descent
h += int(h * 0.21)
return (pic_size[0] - w) / 2, (pic_size[1] - h) / 2

30
render/utils/theme.py Normal file
View File

@@ -0,0 +1,30 @@
class Theme:
def __init__(self, nummer, dataname, bold, fontname, color1, color2, color3):
self.__Nummer = nummer
self.__Dataname = dataname
self.__Bold = bold
self.__Fontname = fontname
self.__Color1 = color1
self.__Color2 = color2
self.__Color3 = color3
def getnummer(self):
return self.__Nummer
def getdataname(self):
return self.__Dataname
def getbold(self):
return self.__Bold
def getfontname(self):
return self.__Fontname
def getcolor1(self):
return self.__Color1
def getcolor2(self):
return self.__Color2
def getcolor3(self):
return self.__Color3