検索
ホームページバックエンド開発Python チュートリアルPython を使用して時間と日付を含む動的な壁紙を作成する方法

Cómo crear un Wallpaper dinámico con la Hora y Fecha usando Python

現在の時刻と日付で自動的に更新される壁紙が必要な場合は、このチュートリアルが最適です。 Python と PIL (枕) などのライブラリを使用して画像を生成し、時刻と日付を含む動的テキストを追加して、この画像を Windows の壁紙として設定します。

何が必要ですか?

  • Python がインストールされています: Python がまだインストールされていない場合は、python.org からダウンロードできます。

  • ライブラリをインストールします:

    • 枕: 画像を操作します。
    • ctypes: オペレーティング システムと対話し、Windows の壁紙を変更します。

ターミナルまたは cmd で次のコマンドを実行して、Pillow をインストールできます: pip installpillow

  • フォント ファイル: 画像上にテキストをレンダリングするには TrueType フォント (.ttf) が必要です。コード例では FiraCode フォントを使用していますが、お好みのフォントを使用できます。

1. インポートと初期設定

スクリプトの先頭で、必要なライブラリをインポートし、背景色、テキストの色、フォント サイズ、フォント ファイル パスなどのいくつかの初期パラメータを定義します。

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
  • Pillow (Image、ImageDraw、ImageFont) は、画像の作成とテキストの描画に使用されます。
  • ctypes は Windows の壁紙を変更するために使用されます。
  • time と datetime を使用すると、時間と日付を管理できます。
  • background_color と text_color は、背景とテキストに使用する色です。

2. 日付と時刻の書式設定

日付と時刻の数値が常に 2 桁でフォーマットされるようにする関数を定義します。

def two_digits_format(number):
    return f"0{number}" if number 



<p>たとえば、日「5」は「05」とフォーマットされ、時、分、秒でも同じことが起こります。</p>

<h2>
  
  
  3. 日付と時刻を含む画像を生成します
</h2>

<p>add_text_to_image() 関数は、画面のサイズ (この場合は 1920x1080) で新しい空白の画像を作成し、中央にテキストを描画します。<br>
</p>

<pre class="brush:php;toolbar:false">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)

4. 画像を壁紙として設定します

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 の機能です。

5.壁紙の継続的な更新

while True: ループでは、画像が生成され、1 秒ごとに壁紙として設定されます:

def two_digits_format(number):
    return f"0{number}" if number 



<p>このループにより、壁紙が現在の時刻と日付で毎秒更新されます。</p>

<p>完全なコードはこちら: GitHub</p>

<h2>
  
  
  結論
</h2>

<p>このコードは、常に現在の時刻と日付を表示する動的な壁紙を生成する簡単な方法を提供します。色、フォント、画像サイズを調整して、壁紙の外観をカスタマイズできます。さらに、コードは効率的になるように設計されており、壁紙の更新は毎秒行われます。</p>

<p>Python での画像操作とオペレーティング システムとの対話方法について楽しく学ぶ方法を探している場合、このプロジェクトは素晴らしい出発点になります。</p>


          

            
        

以上がPython を使用して時間と日付を含む動的な壁紙を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Python:編集と解釈に深く掘り下げますPython:編集と解釈に深く掘り下げますMay 12, 2025 am 12:14 AM

pythonusesahybridmodelofcompilation andtertation:1)thepythoninterpretercompilessourcodeodeplatform-indopent bytecode.2)thepythonvirtualmachine(pvm)thenexecuteTesthisbytecode、balancingeaseoputhswithporformance。

Pythonは解釈されたものですか、それとも編集された言語であり、なぜそれが重要なのですか?Pythonは解釈されたものですか、それとも編集された言語であり、なぜそれが重要なのですか?May 12, 2025 am 12:09 AM

pythonisbothintersedand compiled.1)it'scompiledtobytecode forportabalityacrossplatforms.2)bytecodeisthenは解釈され、開発を許可します。

ループ対pythonのループの場合:説明されたキーの違いループ対pythonのループの場合:説明されたキーの違いMay 12, 2025 am 12:08 AM

loopsareideal whenyouwhenyouknumberofiterationsinadvance、foreleloopsarebetterforsituationsは、loopsaremoreedilaConditionismetを使用します

ループのために:実用的なガイドループのために:実用的なガイドMay 12, 2025 am 12:07 AM

henthenumber ofiterationsisknown advanceの場合、dopendonacondition.1)forloopsareideal foriterating over for -for -for -saredaverseversives likelistorarrays.2)whileopsaresupasiable forsaresutable forscenarioswheretheloopcontinupcontinuspificcond

Python:それは本当に解釈されていますか?神話を暴くPython:それは本当に解釈されていますか?神話を暴くMay 12, 2025 am 12:05 AM

pythonisnotpurelyLepted; itusesahybridapproachofbytecodecodecodecodecodecodedruntimerttation.1)pythoncompilessourcodeintobytecode、whodythepythonvirtualmachine(pvm).2)

同じ要素を持つPython Concatenateリスト同じ要素を持つPython ConcatenateリストMay 11, 2025 am 12:08 AM

ToconcatenateListsinpythothesheElements、使用:1)Operatortokeepduplicates、2)asettoremoveduplicates、or3)listcomplunting for controloverduplicates、各メトドハスディフェルフェルフェントパフォーマンスアンドソーダーインプリテーション。

解釈対編集言語:Pythonの場所解釈対編集言語:Pythonの場所May 11, 2025 am 12:07 AM

pythonisantertedlanguage、useaseofuseandflexibility-butfactingporformantationationsincriticalapplications.1)解釈されたlikepythonexecuteline-by-lineを解釈します

ループのために:Pythonでそれぞれを使用するのはいつですか?ループのために:Pythonでそれぞれを使用するのはいつですか?May 11, 2025 am 12:05 AM

Useforloopswhenthenumberofiterationsisknowninadvance、andwhiloopswheniterationsdependonacondition.1)forloopsareidealforsecenceslikelistoranges.2)

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール