用python转化图片格式

最近看到一个新闻,国外某个地方考试,学生用新款手机拍照发现上传不成功,原来是手机新款默认用的新格式,而考试服务中心不识别这个新格式,最简单解决方案当然是手机设置拍照默认格式改为最佳兼容,别最佳质量之类

另外想到可以复制图片到电脑上我们自己有没有手段转换格式呢?

除了一大堆软件,也可以自己装个环境用命令实现

比如:

sudo apt-get install imagemagick
convert howtogeek.png -quality 80 howtogeek.jpg
convert example.png -resize 200×100 example.png
旋转
convert howtogeek.jpg -rotate 90 howtogeek-rotated.jpg
批量旋转
for file in *.png;do convert $file -rotate 90 rotated-$file;
查看支持的格式
convert -list format
安装谷歌的webp格式
sudo apt install webp

python也有关于imagemagick的支持

sudo apt install python3-pythonmagick

下面是示例的使用,普通文件转化pil库就能搞定,高级转化才需要用pythonmaigck

import os
import sys
from PIL import Image
import PythonMagick

def maigctoico():
    path = os.getcwd()
    #filename = input("输入转化的完整图片名")
    filename = 'psb.jpg'
    old_path = path + '//' + filename
    img = PythonMagick.Image(old_path)
    img.sample('128x128')
    new_path = path + '//ico.ico'
    img.write(new_path)
    print('输出了:ico.ico')
    
def main():
    """
        主函数
    """
    path = os.getcwd()
    #filename = input("输入转化的完整图片名")
    filename = 'psb.jpg'
    old_path = path + '//' + filename
    img=Image.open(old_path)
    new_path = path + '//ico.ico'
    img.save(new_path)
    print('输出:ico.ico')
if __name__ == '__main__':
    maigctoico()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章