首頁 > 後端開發 > Python教學 > 如何使用 Python 創建帶有時間和日期的動態壁紙

如何使用 Python 創建帶有時間和日期的動態壁紙

Patricia Arquette
發布: 2024-12-12 12:23:25
原創
809 人瀏覽過

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

如果您曾經想要擁有一張根據當前時間和日期自動更新的壁紙,本教程適合您。我們將使用 Python 和一些庫(如 PIL (Pillow))生成圖像,添加帶有時間和日期的動態文本,然後將此圖像設定為 Windows 上的壁紙。

我們需要什麼?

  • 已安裝 Python:如果您尚未安裝 Python,可以從 python.org 下載它。

  • 安裝庫:

    • Pillow:處理影像。
    • ctypes:與作業系統互動並更改 Windows 中的桌布。

您可以透過在終端機或 cmd 中執行以下命令來安裝 Pillow:pip installpillow

  • 字型檔案:我們需要 TrueType 字型 (.ttf) 來渲染圖片上的文字。在範例程式碼中,我們使用 FiraCode 字體,但您可以使用任何您喜歡的字體。

1. 導入和初始配置

在腳本的開頭,我們匯入必要的庫並定義一些初始參數,例如背景顏色、文字顏色、字體大小和字體檔案路徑:

  • Pillow(Image、ImageDraw、ImageFont)用於建立圖像並繪製文字。
  • ctypes 用於更改 Windows 中的桌布。
  • 時間和日期時間讓我們可以管理時間和日期。
  • background_color 和 text_color 是我們將用於背景和文字的顏色。

2. 設定日期和時間的格式

我們定義一個函數來確保日期和時間數字總是採用兩位數字格式:

例如,「5」天將格式化為“05”,小時、分鐘和秒也會發生同樣的情況。

3. 產生帶有日期和時間的圖像

add_text_to_image() 函數建立一個新的空白圖像,其大小與螢幕大小(在本例中為 1920x1080)並在中心繪製文字:

在此函數中,我們使用 datetime.now() 取得當前日期和時間,然後將文字格式化為 JSON 格式。這在我們生成的圖像中呈現。

然後,我們計算螢幕的中心以將文字放置在那裡:

4. 將影像設定為壁紙

set_as_wallpaper()函數將產生的影像儲存為暫存文件,然後將其設為桌布:

這裡,ctypes.windll.user32.SystemParametersInfoW 是 Windows 函數,可讓您變更桌布。

5.壁紙持續更新

在 while True: 循環中,每秒產生一次影像並設定為桌布:

此循環可確保壁紙每秒更新一次當前時間和日期。

完整程式碼在這裡:GitHub

結論

此程式碼提供了一種產生始終顯示當前時間和日期的動態桌布的簡單方法。您可以透過調整顏色、字體和圖像大小來自訂壁紙的外觀。此外,程式碼設計得很高效,壁紙每秒都會更新。

如果您正在尋找一種有趣的方式來了解 Python 中的映像處理以及如何與作業系統交互,那麼這個專案是一個很好的起點。

以上是如何使用 Python 創建帶有時間和日期的動態壁紙的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板