はじめに
WebPとは
WebPは、Googleが開発した新しい世代の画像フォーマットです。従来のJPEGやPNGに比べて、高い圧縮率と優れた画質を両立しており、Webサイトの表示速度を大幅に改善することができます。
WebPのメリット
- 高い圧縮率: JPEGよりもさらに高い圧縮率を実現し、画像サイズを大幅に削減できます。これにより、Webサイトの読み込み速度が向上し、ユーザー体験が改善されます。
- 高画質: 高い圧縮率でありながら、JPEGと同等以上の画質を維持することができます。特に、写真やグラフィックデザインなど、画質が重要な画像に適しています。
- 透過処理: PNGのように画像の背景を透過させることができます。
- アニメーション: GIFのような簡単なアニメーションを作成することも可能です。
WebPのデメリット
- ブラウザの対応: 全てのブラウザがWebPに対応しているわけではありません。古いブラウザでは表示できない場合があります。
- ソフトウェアの対応: すべての画像編集ソフトがWebPに対応しているわけではありません。
「Pillow」のインストール
Pillowとは
Pillowは、Python Imaging Library (PIL)のフォークで、画像処理を行うための強力なライブラリです。
Pillowのインストール
「Pillow」をインストールします。
pip install Pillow

pillow
Python Imaging Library (Fork)
コード
ファイルを変換して指定フォルダに保存
Python
from PIL import Image
import os
def convert_to_webp(image_path, output_folder,quality = 80 ):
try:
# 画像を開く
img = Image.open(image_path)
# 出力ファイルのパスを設定 (.webp形式)
base_name = os.path.splitext(os.path.basename(image_path))[0]
webp_path = os.path.join(output_folder, f"{base_name}.webp")
# webpに変換して保存 (クオリティを指定)
img.save(webp_path, "WEBP", quality=quality)
print(f"Converted {image_path} to {webp_path} with quality {quality}")
# 元のファイルを削除
os.remove(image_path)
print(f"Deleted original file: {image_path}")
except Exception as e:
print(f"Error: {e}")
input_file = 'c:\\input.jpg'
output_path = 'c:\\Convert'
convert_to_webp(input_file, output_path)
フォルダを一括で変換する
Python
import os
for filename in os.listdir('input_images'):
if filename.endswith('.jpg') or filename.endswith('.png'):
input_file = os.path.join('input_images', filename)
output_file = os.path.join('output_images', os.path.splitext(filename)[0] + '.webp')
convert_to_webp(input_file, output_file)
イメージのサイズを変更
img = img.resize((new_width, new_height))