Spaces:
Sleeping
Sleeping
File size: 1,282 Bytes
a3a633e |
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 41 42 |
from PIL import Image
import io
def compress_image(image, quality=85):
"""
Komprimiert ein Bild mit angegebener Qualität
:param image: PIL Image Objekt
:param quality: Kompressionsqualität (1-100)
:return: Komprimiertes PIL Image
"""
img_byte_arr = io.BytesIO()
image.save(img_byte_arr, format='JPEG', quality=quality)
img_byte_arr.seek(0)
return Image.open(img_byte_arr)
def convert_image_format(image, target_format='webp', quality=85):
"""
Konvertiert Bild in Zielformat
:param image: PIL Image Objekt
:param target_format: Zielformat (jpg, png, webp)
:param quality: Kompressionsqualität
:return: Konvertiertes PIL Image
"""
img_byte_arr = io.BytesIO()
image.save(img_byte_arr, format=target_format.upper(), quality=quality)
img_byte_arr.seek(0)
return Image.open(img_byte_arr)
def resize_image(image, max_width=None, max_height=None):
"""
Ändert Bildgröße unter Beibehaltung des Seitenverhältnisses
:param image: PIL Image Objekt
:param max_width: Maximale Breite
:param max_height: Maximale Höhe
:return: Größenverändertes PIL Image
"""
if max_width and max_height:
image.thumbnail((max_width, max_height))
return image |