转换需要使用Pillow
这个库:
代码如下:
1 2 3
| from PIL import image im = Image.open(input_image).convert("RGB") im.save("test.jpg", "jpeg")
|
以上代码参考了文章:Image Conversion (JPG ⇄ PNG/JPG ⇄ WEBP) with Python
下面这个代码提供了更加完整的功能,包括支持输入图片的 url 以完成自动下载和格式转换:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| import argparse import urllib.request from PIL import Image
def download_image(url): path, _ = urllib.request.urlretrieve(url) print(path) return path
if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('input_file', help="输入文件") parser.add_argument('output_file', help="输出文件", nargs="?") opt = parser.parse_args() input_file = opt.input_file
if input_file.startswith("http"): if opt.output_file is None: print("输入是URL时必须制定输出文件") input_file = download_image(input_file) elif not input_file.endswith(".webp"): print("输入文件不是webp格式的") exit() filename = ".".join(input_file.split(".")[0:-1]) output_file = opt.output_file or ("%s.jpg" % filename) im = Image.open(input_file).convert("RGB") im.save(output_file, "jpeg") urllib.request.urlcleanup()
|
将文件保存为webp2jpg
并将其路径加入PATH
环境变量,那么就可以以如下方式使用这个脚本:
1 2 3 4 5 6
| webp2jpg input.webp output.jpg
# 下面这个命令的输出文件是input.jpg webp2jpg input.webp
webp2jpg http://host.com/file.webp local_save.jpg
|