🢂Generator Img placeholderów w Pythonie
Pozwala na wygentrowanie placeholderów w PNG w dowlnych wymiarach i ilości
Jak używać generatora
- Utwórz plik
>placeholder.py
-
Kod do pliku (poniżej)
-
Chmod (zmień na wykonywalny)
chmod +x placeholder.py
- Generujemy :)
./placeholder.py
Kod generatora
#!/usr/bin/env python3
from PIL import Image
import numpy as np
import PIL
import PIL.Image as Image
import PIL.ImageDraw as ImageDraw
import PIL.ImageFont as ImageFont
bg_colour = (00,123, 81)
# text_colour = 'rgb(89, 89, 89)'
text_colour = 'rgb(255, 255, 255)'
fontpath = "/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf"
ile = 1
count = 0
proporcje_fontu = 15
# Zmiana rozmiarów
dimens = []
# dimens.append(["FHD",1920,1080])
# dimens.append(["kwadrat",2480,2480])
# dimens.append(["UWFHD",2560,1080])
# dimens.append(["B5",2953,2079])
# dimens.append(["A4",3508,2480])
# dimens.append(["nHD",640,360])
# dimens.append(["SVGA",800,600])
# dimens.append(["XGA",1024,768])
# dimens.append(["WXGA",1280,720])
# dimens.append(["SXGA",1280,1024])
# dimens.append(["HD",1360,768])
# dimens.append(["WXGA+",1440,900])
# dimens.append(["HD+",1600,900])
# dimens.append(["WSXGA+",1680,1050])
# dimens.append(["FHD",1920,1080])
# dimens.append(["WUXGA",1920,1200])
# dimens.append(["QWXGA",2048,1152])
# dimens.append(["QXGA",2048,1536])
# dimens.append(["UWFHD",2560,1080])
# dimens.append(["QHD",2560,1440])
# dimens.append(["UWQHD",3440,1440])
# dimens.append(["4K UHD",3840,2160])
# Reklamy FB
# //dimens.append(["FB1",1200,1200])
# dimens.append(["FB",175,45])
dimens.append(["losowe",1024,1024])
while (count < ile):
count = count + 1
# Wertykalny
for x in dimens:
a = np.full(( x[1], x[2], 3), bg_colour, dtype=np.uint8)
name = "_".join(map(str, x))
wymiary = " x ".join(map(str, [x[0],x[1],x[2]]))
image = Image.fromarray(a, "RGB")
draw = ImageDraw.Draw(image)
fontsize = round(x[2] / proporcje_fontu)
font = ImageFont.truetype(fontpath, fontsize)
textsize = draw.textsize(wymiary, font=font)
textX = ((x[2] - textsize[0]) / 2)
textY = ((x[1] + textsize[1]) / 2)
draw.text((textX, textY), wymiary, font=font, fill=text_colour)
image.save(name.__add__("_").__add__(str(count)).__add__("_v_").__add__(".png"), "PNG")
#Horyzontalny
for y in dimens:
b = np.full(( y[2], y[1], 3), bg_colour, dtype=np.uint8)
name = "_".join(map(str, y))
wymiary = " x ".join(map(str, [y[0],y[2],y[1]]))
image = Image.fromarray(b, "RGB")
draw = ImageDraw.Draw(image)
fontsize = round(y[2] / proporcje_fontu)
font = ImageFont.truetype(fontpath, fontsize)
textsize = draw.textsize(wymiary, font=font)
textX = ((y[1] - textsize[0]) / 2)
textY = ((y[2] + textsize[1]) / 2)
draw.text((textX, textY), wymiary, font=font, fill=text_colour)
image.save(name.__add__("_").__add__(str(count)).__add__("_h_").__add__(".png"), "PNG")
### Koniec