Есть у меня скрипт, сохраняет скрины постов за прошедшую неделю, скрины нужно эти в ворд запихнуть => для начала нужно их уменьшить.
Есть такой код:
from PIL import Image
from concurrent.futures import ThreadPoolExecutor
from scripts import config
import os
def imageResize(imagePath: str):
image = Image.open(imagePath)
newImagePath = os.path.join(os.getcwd(), 'debugScreens', imagePath.split('\\')[-1])
width, height = image.size
if height < 400:
image.save(newImagePath)
return
desiredHeight = 470
newWidth = round((desiredHeight * width) / height)
resizedImage = image.resize((newWidth, desiredHeight))
resizedImage.save(newImagePath)
print(f'Saved image: {newImagePath}')
return
paths = [os.path.join(config.SCREENSHOTS, imgName) for imgName in os.listdir(config.SCREENSHOTS)]
with ThreadPoolExecutor(max_workers=6) as pool:
pool.map(imageResize, paths)
Еще пробовал другие варианты, но суть одна, изображение на выходе теряет качество.
Картинка на входе
На выходе
Как можно сделать так, чтоб качество терялось минимально.