[Python] 纯文本查看 复制代码 import os
from PIL import Image
def convert_to_png(image_path):
# 打开图片
try:
with Image.open(image_path) as im:
# 判断是否为支持转换的格式
if im.format.lower() in ('gif', 'jpeg', 'jpg', 'webp'):
# 设置输出文件名
output_path = os.path.splitext(image_path)[0] + ".png"
# 保存为PNG格式
im.save(output_path, format="PNG")
print(f"成功将图片 {image_path} 转换为 PNG 格式并保存为 {output_path}")
else:
print(f"不支持转换 {image_path} 的格式 ({im.format}) 至 PNG")
except IOError:
print(f"无法打开或转换图片 {image_path},可能不是有效的图片文件或存在其他问题")
# 批量转换目录下的所有支持图片格式为png
def batch_convert_to_png(directory):
if not os.path.isdir(directory):
print(f"{directory} 不是有效的目录路径")
return
for filename in os.listdir(directory):
if filename.endswith(('.gif', '.jpg', '.jpeg', '.webp')):
image_path = os.path.join(directory, filename)
convert_to_png(image_path)
batch_convert_to_png("D:/图片/")
'''
# 使用示例:
convert_to_png("D:/图片/a.webp")
convert_to_png("input.gif")
convert_to_png("input.jpg")
convert_to_png("input.jpeg")
convert_to_png("input.webp") # 新增:将 WebP 图片转为 PNG
# 批量转换示例:
batch_convert_to_png("D:/图片/")
'''
|