feat: add avatars
This commit is contained in:
18
src/infrastructure/media/webp.py
Normal file
18
src/infrastructure/media/webp.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from io import BytesIO
|
||||
|
||||
from PIL import Image
|
||||
|
||||
|
||||
def image_bytes_to_webp(raw: bytes, *, quality: int = 82) -> bytes:
|
||||
im = Image.open(BytesIO(raw))
|
||||
if im.mode == 'P':
|
||||
im = im.convert('RGBA')
|
||||
elif im.mode == 'LA':
|
||||
im = im.convert('RGBA')
|
||||
elif im.mode not in ('RGBA', 'RGB'):
|
||||
im = im.convert('RGB')
|
||||
out = BytesIO()
|
||||
im.save(out, format='WEBP', quality=quality)
|
||||
return out.getvalue()
|
||||
Reference in New Issue
Block a user