Обрезка Pil Image увеличивает размер файла изображения - PullRequest
0 голосов
/ 06 августа 2020

Я обнаружил, что могу поправиться PageSpeeds , если разделю фоновое изображение своего веб-сайта на более мелкие. Я создал сценарий python для этого, чтобы не создавать 6 копий и обрезать их в предварительном просмотре каждый раз, когда мне нужно что-то изменить, но обрезанные изображения слишком большие. Нижний файл имеет больший размер, чем мое исходное изображение

Изображение, которое я разделяю (154 кб)

Нижнее разделенное изображение, которое больше (160 кб)

скрипт, который разбивает изображение на более мелкие

from PIL import Image
import os
import ntpath

def crop(pathToFile, height, width=False):
    im = Image.open(pathToFile)
    imgwidth, imgheight = im.size
    [name, ext] = ntpath.basename(pathToFile).split('.')
    if(not width):
        width = imgwidth
    k=0
    for i in range(0,imgheight,height):
        for j in range(0,imgwidth,width):
            box = (j, i, j+width, i+height)
            a = im.crop(box)
            a.save(os.path.join("./" + name + str(k) + "." + ext), compress_level=9, optimize=True)
            k +=1

pathToFile = './path/to/wheat-background.jpg'
crop(pathToFile, 933)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...