用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()

 

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