mirror of
https://github.com/freedoom/freedoom.git
synced 2025-09-01 13:25:46 -04:00
Python 2 is very near end-of-life, and Python3-compatible changes to a few scripts introduced compatibility problems with 2.7 again. It went unnoticed for me since my system symlinks "python" to "python3", but it broke the build on systems where that symlink is still python2. At this point in time, I feel it is worth targetting modern Python and forgetting about 2.7.
59 lines
1.4 KiB
Python
Executable file
59 lines
1.4 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
# encoding: utf-8
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
from PIL import Image, ImageFont, ImageDraw
|
|
import sys
|
|
import os
|
|
|
|
# create_caption.py <background_image> <title?> <phase?> <outfile>
|
|
|
|
font = ImageFont.load_default()
|
|
|
|
|
|
txt1 = "© 2001-2019"
|
|
txt2 = os.environ["VERSION"]
|
|
background_image = Image.open(sys.argv[1])
|
|
background_image.load()
|
|
background_image = background_image.convert("RGBA")
|
|
image = Image.new("RGBA", background_image.size, (0, 0, 0, 0))
|
|
draw = ImageDraw.Draw(image)
|
|
txt1_size = draw.textsize(txt1, font=font)
|
|
txt2_size = draw.textsize(txt2, font=font)
|
|
|
|
draw.text(
|
|
(5, int(image.height - txt1_size[1] - 5)),
|
|
txt1,
|
|
font=font,
|
|
fill=(255, 165, 0, 255),
|
|
)
|
|
draw.text(
|
|
(
|
|
int(image.width - txt2_size[0] - 10),
|
|
int(image.height - txt2_size[1] - 5),
|
|
),
|
|
txt2,
|
|
font=font,
|
|
fill=(255, 165, 0, 255),
|
|
)
|
|
|
|
if len(sys.argv) > 3:
|
|
# paste the other stuff onto the thing.
|
|
logo = Image.open(sys.argv[2])
|
|
logo.load()
|
|
phase = Image.open(sys.argv[3])
|
|
phase.load
|
|
image.paste(logo, ((int(image.width / 2) - int(logo.width / 2), 18)))
|
|
image.paste(
|
|
phase,
|
|
(
|
|
(int(image.width / 2) - int(phase.width / 2)),
|
|
int(image.height - phase.height - 30),
|
|
),
|
|
)
|
|
outfile_name = sys.argv[4]
|
|
else:
|
|
outfile_name = sys.argv[2]
|
|
|
|
image = Image.alpha_composite(background_image, image)
|
|
image.save(outfile_name)
|