blob: c4f435587aa96df2787c4dc31cf58c5d595ff29b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
import io
import blurhash
from django.core.files import File
from PIL import Image, ImageOps
def resize_image(image: File, *, size: tuple[int, int]) -> File:
"""
Resizes an image to fit insize the given size (cropping one dimension
to fit if needed)
"""
with Image.open(image) as img:
resized_image = ImageOps.fit(img, size)
new_image_bytes = io.BytesIO()
resized_image.save(new_image_bytes, format=img.format)
return File(new_image_bytes)
def blurhash_image(image) -> str:
"""
Returns the blurhash for an image
"""
return blurhash.encode(image, 4, 4)
|