from PIL import Image, ImageDraw, ImageFont import time import datetime def overlay_text_on_image(background_image_path): # Open the background image img = Image.open(background_image_path) d = ImageDraw.Draw(img) # Get the current UNIX time unix_timestamp = time.time() unix_time_str = f"{unix_timestamp}" # Get the current system time system_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') system_time_str = f"{system_time}" # Get date formated as 23d365 systemzdate = datetime.datetime.now() systemzyear = systemzdate.year % 100 systemz_day_of_year = systemzdate.timetuple().tm_yday systemz_time_str = f"a{systemzyear}d{systemz_day_of_year}" # Use a built-in font (or replace with your own font path) fnt = ImageFont.truetype("DejaVuSans.ttf", 14) fntz = ImageFont.truetype("DejaVuSans.ttf", 16) # Calculate text position (centered) unix_time_bbox = d.textbbox((0, 0), unix_time_str, font=fnt) system_time_bbox = d.textbbox((0, 0), system_time_str, font=fnt) systemz_time_bbox = d.textbbox((0, 0), systemz_time_str, font=fntz) unix_time_width, unix_time_height = unix_time_bbox[2] - unix_time_bbox[0], unix_time_bbox[3] - unix_time_bbox[1] system_time_width, system_time_height = system_time_bbox[2] - system_time_bbox[0], system_time_bbox[3] - system_time_bbox[1] systemz_time_width, systemz_time_height = systemz_time_bbox[2] - systemz_time_bbox[0], systemz_time_bbox[3] - systemz_time_bbox[1] img_width, img_height = img.size d.text(((img_width - unix_time_width) / 2, (1 * img_height / 6) - unix_time_height / 2), unix_time_str, font=fnt, fill="white") d.text(((img_width - system_time_width) / 2, (3 * img_height / 6) - system_time_height / 2), system_time_str, font=fnt, fill="white") d.text(((img_width - systemz_time_width) / 2, (5 * img_height / 6) - systemz_time_height / 2), systemz_time_str, font=fnt, fill="white") # Save the image with the overlay text img.save('overlay_datetime_image.png') if __name__ == "__main__": background_image_path = 'timebackground.png' # Replace with your image path overlay_text_on_image(background_image_path)