File size: 1,013 Bytes
19b3da3 a3d6c18 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import io
from PIL import Image
def to_bytes(image: Image.Image) -> bytes:
with io.BytesIO() as output:
image.save(output, format="JPEG")
return output.getvalue()
def resize_image_to512(image: Image.Image) -> Image.Image:
iw, ih = image.size
if iw > ih:
image = image.resize((512, int(512 * ih / iw)))
else:
image = image.resize((int(512 * iw / ih), 512))
return image
def from_bytes(data: bytes) -> Image.Image:
return Image.open(io.BytesIO(data))
def padd_image(image: Image.Image, to_width: int, to_height: int) -> Image.Image:
iw, ih = image.size
value = min(to_width, to_height)
# resize Image
if iw > ih:
image = image.resize((value, int(value * ih / iw)))
else:
image = image.resize((int(value * iw / ih), value))
# padd Image
iw, ih = image.size
img = Image.new("RGBA", (to_width, to_height), (0, 0, 0, 0))
img.paste(image, ((to_width - iw) // 2, (to_height - ih) // 2))
return img
|