Pythonでブログ用の画像をサクッと圧縮する

2022年8月8日

はじめに

最近、色々とこのブログでもPythonで色々と作っていますが、
今回はブログ掲載用の画像サイズを小さくするプログラムを作ってみたいと思います。

今までは下記のサービスを使っていたんですが、アップロードするというのが嫌で・・・。

それで今回は画像を圧縮するのではなく、WebPと言われる、jpgやpngよりもWeb用に特化した画像形式に変換するプログラムを作りたいと思います。。
一度、作っておけば、D&Dすれば変換してくれるので便利ですよ。
もし良かったら作ってみてください。

プログラム

方法は色々あるのですが、今回は簡単に扱えるPillowライブラリを使って作ってみたいと思います。

from PIL import Image
import os
import sys

def pic2webp(attach):
    for i,file in enumerate(attach):
        print(f'{i}:{file}')
        picture = Image.open(file)
        file_name = os.path.splitext(os.path.basename(file))[0]
        dir_name = os.path.dirname(file)
        picture.save(f'{dir_name}\\{file_name}.webp', format='webp', subsampling=0, quality=65, optimize=True)

if __name__ == '__main__':
    pic2webp(sys.argv[1:])
    print('画像を圧縮しました。')

あとは以前に紹介したようにEXE化などして気軽に使ってください。

まとめ

いかがだったでしょうか?フリーソフトも良いですが、これだけで作れるならPythonで作るのもあり?ですよね。
もし良かったら、自作の変換アプリ作ってみてください。

IT,Python

Posted by スングル