Spaces:
Sleeping
Sleeping
| # 這個程式將 webp 圖片轉換為 jpg 格式, | |
| # 並儲存到指定的資料夾或與原檔案相同的資料夾中。 | |
| # 使用 PIL 庫來處理圖片格式轉換。 | |
| from PIL import Image | |
| import os | |
| def convert_webp_to_jpg(webp_path, output_folder=None): | |
| """ | |
| 將 webp 檔案轉換為 jpg 檔案。 | |
| :param webp_path: 輸入的 webp 檔案路徑。 | |
| :param output_folder: 輸出的資料夾路徑。如果為 None,則輸出到與輸入檔案相同的資料夾。 | |
| :return: 輸出的 jpg 檔案路徑。 | |
| """ | |
| try: | |
| # 開啟 webp 圖片 | |
| img = Image.open(webp_path).convert("RGB") | |
| # 決定輸出的檔案名稱與路徑 | |
| file_name = os.path.splitext(os.path.basename(webp_path))[0] | |
| if output_folder: | |
| if not os.path.exists(output_folder): | |
| os.makedirs(output_folder) | |
| output_path = os.path.join(output_folder, f"{file_name}.jpg") | |
| else: | |
| output_path = os.path.join(os.path.dirname(webp_path), f"{file_name}.jpg") | |
| # 儲存為 jpg | |
| img.save(output_path, "jpeg") | |
| print(f"成功將 {webp_path} 轉換為 {output_path}") | |
| return output_path | |
| except Exception as e: | |
| print(f"轉換失敗:{e}") | |
| return None | |
| if __name__ == '__main__': | |
| # 建立一個假的 webp 檔案以供測試 | |
| if not os.path.exists("input_images"): | |
| os.makedirs("input_images") | |
| try: | |
| # 建立一個簡單的白色圖片 | |
| #G:\Python\tools\input_images\1411032040-楊宗祥.webp | |
| dummy_webp_path = r"G:\Python\tools\input_images\1411032040.webp" | |
| # 測試轉換函數 | |
| # 範例 1: 轉換並儲存在相同資料夾 | |
| print("\n--- 範例 1: 轉換並儲存在相同資料夾 ---") | |
| output_path = convert_webp_to_jpg(dummy_webp_path) | |
| # 範例 2: 轉換並儲存在指定資料夾 | |
| print("\n--- 範例 2: 轉換並儲存在指定資料夾 ---") | |
| if not os.path.exists("output_images"): | |
| os.makedirs("output_images") | |
| output_path = convert_webp_to_jpg(dummy_webp_path, "output_images") | |
| print(output_path) | |
| except Exception as e: | |
| print(f"執行範例時發生錯誤: {e}") | |