🌊

コピペと画像出力

2023/04/22に公開
from PIL import ImageGrab
import io

# クリップボードから画像を取得
img = ImageGrab.grabclipboard()

# 画像をバイナリ形式に変換して1MB以下に圧縮
with io.BytesIO() as output:
    img.save(output, format='JPEG', quality=50)
    data = output.getvalue()
    while len(data) > 1_000_000:
        output.seek(0)
        output.truncate()
        img.save(output, format='JPEG', quality=30)
        data = output.getvalue()

# 圧縮された画像をjpg形式でファイルとして保存
with open("compressed.jpg", "wb") as f:
    f.write(data)

Discussion