Wenn Sie sich schon immer ein Hintergrundbild gewünscht haben, das automatisch mit der aktuellen Uhrzeit und dem aktuellen Datum aktualisiert wird, ist dieses Tutorial genau das Richtige für Sie. Wir werden Python und einige Bibliotheken wie PIL (Pillow) verwenden, um ein Bild zu generieren, dynamischen Text mit Uhrzeit und Datum hinzuzufügen und dieses Bild dann als Hintergrundbild unter Windows festzulegen.
Python installiert: Wenn Sie Python noch nicht installiert haben, können Sie es von python.org herunterladen.
Bibliotheken installieren:
Sie können Pillow installieren, indem Sie den folgenden Befehl in Ihrem Terminal oder cmd ausführen: pip install Pillow
Zu Beginn des Skripts importieren wir die notwendigen Bibliotheken und definieren einige anfängliche Parameter wie Hintergrundfarbe, Textfarbe, Schriftgröße und Pfad der Schriftdatei:
from PIL import Image, ImageDraw, ImageFont import ctypes, os, time, io from datetime import datetime background_color = (0, 0, 0) # Color de fondo (negro) text_color = (22, 230, 69) # Color del texto (verde) font_size = 30 font_path = r"c:/Users/david/Desktop/FiraCodeRegular.ttf" # Ruta de la fuente font = ImageFont.truetype(font_path, font_size) screen_width = 1920 screen_height = 1080
Wir definieren eine Funktion, um sicherzustellen, dass die Datums- und Uhrzeitzahlen immer mit zwei Ziffern formatiert werden:
def two_digits_format(number): return f"0{number}" if number < 10 else number
Zum Beispiel wird Tag „5“ als „05“ formatiert, und das Gleiche gilt für Stunde, Minute und Sekunde.
Die Funktion add_text_to_image() erstellt ein neues leeres Bild mit der Größe des Bildschirms (in diesem Fall 1920 x 1080) und zeichnet den Text in die Mitte:
def agregar_texto_a_imagen(): now = datetime.now() texto = f"""{{ "date": {{ "day": {two_digits_format(now.day)}, "month": {two_digits_format(now.month)}, "year": {now.year} }}, "time": {{ "hour": {two_digits_format(now.hour)}, "minute": {two_digits_format(now.minute)}, "second": {two_digits_format(now.second)}, "meridiem": "{now.strftime("%p")}" }} }}"""
In dieser Funktion rufen wir das aktuelle Datum und die aktuelle Uhrzeit mit datetime.now() ab und formatieren den Text dann im JSON-Format. Dies wird in dem von uns erstellten Bild wiedergegeben.
Dann berechnen wir die Mitte des Bildschirms, um den Text dort zu platzieren:
bbox = draw.textbbox((0, 0), texto, font=font) ancho_texto = bbox[2] - bbox[0] altura_texto = bbox[3] - bbox[1] posicion_x = (ancho_imagen - ancho_texto) // 2 posicion_y = (altura_imagen - altura_texto) // 2 posicion = (posicion_x, posicion_y)
Die Funktion set_as_wallpaper() speichert das generierte Bild als temporäre Datei und legt es dann als Hintergrundbild fest:
from PIL import Image, ImageDraw, ImageFont import ctypes, os, time, io from datetime import datetime background_color = (0, 0, 0) # Color de fondo (negro) text_color = (22, 230, 69) # Color del texto (verde) font_size = 30 font_path = r"c:/Users/david/Desktop/FiraCodeRegular.ttf" # Ruta de la fuente font = ImageFont.truetype(font_path, font_size) screen_width = 1920 screen_height = 1080
Hier ist ctypes.windll.user32.SystemParametersInfoW eine Windows-Funktion, mit der Sie das Hintergrundbild ändern können.
In der while True:-Schleife wird das Bild einmal pro Sekunde generiert und als Hintergrundbild festgelegt:
def two_digits_format(number): return f"0{number}" if number < 10 else number
Diese Schleife stellt sicher, dass das Hintergrundbild jede Sekunde mit der aktuellen Uhrzeit und dem aktuellen Datum aktualisiert wird.
Vollständiger Code hier: GitHub
Dieser Code bietet eine einfache Möglichkeit, ein dynamisches Hintergrundbild zu generieren, das immer die aktuelle Uhrzeit und das aktuelle Datum anzeigt. Sie können das Erscheinungsbild des Hintergrundbilds anpassen, indem Sie die Farben, die Schriftart und die Bildgröße anpassen. Darüber hinaus ist der Code auf Effizienz ausgelegt, da das Hintergrundbild jede Sekunde aktualisiert wird.
Wenn Sie nach einer unterhaltsamen Möglichkeit suchen, etwas über die Bildmanipulation in Python und die Interaktion mit dem Betriebssystem zu lernen, ist dieses Projekt ein guter Ausgangspunkt.
Das obige ist der detaillierte Inhalt vonSo erstellen Sie mit Python ein dynamisches Hintergrundbild mit Uhrzeit und Datum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!