Я использую отличную модификацию Python's PIL от Etienne отсюда .Что мне нужно, так это то, что делает модификация - чтобы сохранить файл JPEG, используя те же таблицы квантования, что и оригинал.Выполнение этого изменения кажется элегантным, в настоящее время я достигаю этого, используя сборку кода С.
Моя проблема заключается в том, что я получаю объект файла JPEG в PIL, но после любого изменения он становится объектомкакой-то другой тип.Я хочу взять изображение, обрезать его и сохранить с той же таблицей квантования.
Я пытаюсь:
img = Image.open("someimage.jpg")
width, height = img.size
crop = img.crop((8, 0, width, height))
img = img.resize((width - 8, height))
img.paste(crop, (0,0))
img.save("crop.jpg", quality='keep')
Объект img сначала является PIL.JpegImagePlugin.JpegImageFile, ностановится просто Изображение после операции изменения размера / вставки.Следовательно, я не могу использовать quality = 'keep', так как это больше не JPEG.Я пробовал обрезать и вставлять, как описано выше, я пробовал несколько других способов, но, похоже, ничто не сохраняет объект JpegImageFile.