|
@@ -1,8 +1,10 @@
|
|
|
import base64
|
|
|
import json
|
|
|
+import warnings
|
|
|
+
|
|
|
import numpy as np
|
|
|
import zlib
|
|
|
-from PIL import Image, ImageDraw, ImageFont
|
|
|
+from PIL import Image, ImageDraw
|
|
|
import torch
|
|
|
|
|
|
|
|
@@ -129,14 +131,17 @@ def extract_image_data_embed(image):
|
|
|
|
|
|
|
|
|
def caption_image_overlay(srcimage, title, footerLeft, footerMid, footerRight, textfont=None):
|
|
|
+ from modules.images import get_font
|
|
|
+ if textfont:
|
|
|
+ warnings.warn(
|
|
|
+ 'passing in a textfont to caption_image_overlay is deprecated and does nothing',
|
|
|
+ DeprecationWarning,
|
|
|
+ stacklevel=2,
|
|
|
+ )
|
|
|
from math import cos
|
|
|
|
|
|
image = srcimage.copy()
|
|
|
fontsize = 32
|
|
|
- if textfont is None:
|
|
|
- from modules.images import get_font
|
|
|
- textfont = get_font(fontsize)
|
|
|
-
|
|
|
factor = 1.5
|
|
|
gradient = Image.new('RGBA', (1, image.size[1]), color=(0, 0, 0, 0))
|
|
|
for y in range(image.size[1]):
|
|
@@ -147,12 +152,12 @@ def caption_image_overlay(srcimage, title, footerLeft, footerMid, footerRight, t
|
|
|
|
|
|
draw = ImageDraw.Draw(image)
|
|
|
|
|
|
- font = ImageFont.truetype(textfont, fontsize)
|
|
|
+ font = get_font(fontsize)
|
|
|
padding = 10
|
|
|
|
|
|
_, _, w, h = draw.textbbox((0, 0), title, font=font)
|
|
|
fontsize = min(int(fontsize * (((image.size[0]*0.75)-(padding*4))/w)), 72)
|
|
|
- font = ImageFont.truetype(textfont, fontsize)
|
|
|
+ font = get_font(fontsize)
|
|
|
_, _, w, h = draw.textbbox((0, 0), title, font=font)
|
|
|
draw.text((padding, padding), title, anchor='lt', font=font, fill=(255, 255, 255, 230))
|
|
|
|
|
@@ -163,7 +168,7 @@ def caption_image_overlay(srcimage, title, footerLeft, footerMid, footerRight, t
|
|
|
_, _, w, h = draw.textbbox((0, 0), footerRight, font=font)
|
|
|
fontsize_right = min(int(fontsize * (((image.size[0]/3)-(padding))/w)), 72)
|
|
|
|
|
|
- font = ImageFont.truetype(textfont, min(fontsize_left, fontsize_mid, fontsize_right))
|
|
|
+ font = get_font(min(fontsize_left, fontsize_mid, fontsize_right))
|
|
|
|
|
|
draw.text((padding, image.size[1]-padding), footerLeft, anchor='ls', font=font, fill=(255, 255, 255, 230))
|
|
|
draw.text((image.size[0]/2, image.size[1]-padding), footerMid, anchor='ms', font=font, fill=(255, 255, 255, 230))
|