データ部分を一切書き換えることなく、DPIを書き換えたい場合は、
JPG形式の画像ファイルのDPIを書き換える を使って欲しい。
以下、はデータ部分の書き換えが発生するシンプルなコード
from PIL import Image filepath = "a.jpg" im = Image.open(filepath) # 画像を開く print(im.info["dpi"]) # DPIを取得する # (72, 72) _dpi = 144 im.save(filepath, dpi = (_dpi, _dpi)) # 新しいDPIに書き換えて出力する im.close() # 閉じる
im.saveでJPEGを保存するときはqualityはデフォルトで75に設定されている。qualityは[1-100]で大きい方が画像サイズが大きい。
im.save(filepath, dpi = (_dpi, _dpi), quality=75) # は im.save(filepath, dpi = (_dpi, _dpi)) # や im.save(filepath, dpi = (_dpi, _dpi), quality=0) # と同じ
参照