現在の時刻と日付で自動的に更新される壁紙が必要な場合は、このチュートリアルが最適です。 Python と PIL (枕) などのライブラリを使用して画像を生成し、時刻と日付を含む動的テキストを追加して、この画像を Windows の壁紙として設定します。
Python がインストールされています: Python がまだインストールされていない場合は、python.org からダウンロードできます。
ライブラリをインストールします:
ターミナルまたは cmd で次のコマンドを実行して、Pillow をインストールできます: pip installpillow
スクリプトの先頭で、必要なライブラリをインポートし、背景色、テキストの色、フォント サイズ、フォント ファイル パスなどのいくつかの初期パラメータを定義します。
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
日付と時刻の数値が常に 2 桁でフォーマットされるようにする関数を定義します。
def two_digits_format(number): return f"0{number}" if number < 10 else number
たとえば、日「5」は「05」とフォーマットされ、時、分、秒でも同じことが起こります。
add_text_to_image() 関数は、画面のサイズ (この場合は 1920x1080) で新しい空白の画像を作成し、中央にテキストを描画します。
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")}" }} }}"""
この関数では、datetime.now() を使用して現在の日付と時刻を取得し、テキストを JSON 形式にフォーマットします。これは、生成した画像にレンダリングされます。
次に、画面の中心を計算してそこにテキストを配置します。
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)
set_as_wallpaper() 関数は、生成された画像を一時ファイルとして保存し、壁紙として設定します。
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
ここで、ctypes.windll.user32.SystemParametersInfoW は、壁紙を変更できる Windows の機能です。
while True: ループでは、画像が生成され、1 秒ごとに壁紙として設定されます:
def two_digits_format(number): return f"0{number}" if number < 10 else number
このループにより、壁紙が現在の時刻と日付で毎秒更新されます。
完全なコードはこちら: GitHub
このコードは、常に現在の時刻と日付を表示する動的な壁紙を生成する簡単な方法を提供します。色、フォント、画像サイズを調整して、壁紙の外観をカスタマイズできます。さらに、コードは効率的になるように設計されており、壁紙の更新は毎秒行われます。
Python での画像操作とオペレーティング システムとの対話方法について楽しく学ぶ方法を探している場合、このプロジェクトは素晴らしい出発点になります。
以上がPython を使用して時間と日付を含む動的な壁紙を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。