Преглед на файлове

Adjust text size, fix narrow images, adjust colors

master
Fen Dweller преди 5 години
родител
ревизия
50a66f7024
променени са 1 файла, в които са добавени 12 реда и са изтрити 9 реда
  1. +12
    -9
      overlay.py

+ 12
- 9
overlay.py Целия файл

@@ -9,31 +9,34 @@ def overlay(image_in):
size = image.size
center = (size[0]/2, size[1]/2)
message = "YOU DIED"
font_size = size[1] // 6
gradient_range = size[1] // 10
limit = size[1]
if size[0] / size[1] < 1:
limit = int(limit * size[0] / size[1])
font_size = limit // 5
gradient_range = limit // 10

rect_top = sub(center, (0, font_size * 3 // 4))
rect_bot = sub(center, (0, -font_size * 3 // 4))
rect_top = sub(center, (0, font_size * 3 // 5))
rect_bot = sub(center, (0, -font_size * 3 // 5))

overlay = Image.new("RGBA", size, (0,0,0,0))

draw = ImageDraw.Draw(overlay)
font = ImageFont.truetype("OptimusPrinceps.ttf", font_size)

draw.rectangle([0, rect_top[1], size[0], rect_bot[1]], fill=(0,0,0, 220))
draw.rectangle([0, rect_top[1], size[0], rect_bot[1]], fill=(0,0,0, 225))

for y in range(-1, -gradient_range - 1, -1):
c = 220 - 220 * (-y) // gradient_range
c = 225 - 225 * (-y) // gradient_range
draw.line([0, rect_top[1] + y, size[0], rect_top[1] + y], fill=(0,0,0,c))

for y in range(1, gradient_range + 1, 1):
c = 220 - 220 * (y) // gradient_range
c = 225 - 225 * (y) // gradient_range
draw.line([0, rect_bot[1] + y, size[0], rect_bot[1] + y], fill=(0,0,0,c))

text_size = draw.textsize(message, font=font)
offset = (center[0] - text_size[0]/2, center[1] - text_size[1]/2)

draw.text(offset, message, (255,0,0), font=font)
draw.text(offset, message, (200,25,25), font=font)

result = Image.alpha_composite(Image.alpha_composite(image, Image.new("RGBA", size, (0,0,0,100))), overlay)
result = Image.alpha_composite(Image.alpha_composite(image, Image.new("RGBA", size, (0,0,0,125))), overlay)
return result

Loading…
Отказ
Запис