pillow OSError:写入图像文件时编码器错误-2

问题描述 投票:0回答:1

我正在使用枕头将一些图片合并为一张大 jpg 图像

这是我的代码

from PIL import Image
import os
import shutil
from time import sleep

folder_list = os.listdir()
for i in folder_list:
    if i[-3:] == '.py' or i[-3:] == 'zip' or i[-3:] == 'exe' or i[-3:] == 'jpg':
        folder_list.remove(i)
for manhwa in folder_list:
    os.chdir(manhwa)
    list_chap = os.listdir()
    cwd = os.getcwd()

    images = [Image.open(x) for x in list_chap]
    widths, heights = zip(*(i.size for i in images))

    max_width = max(widths)
    total_height = sum(heights)

    new_im = Image.new('RGB', (max_width, total_height))
    x_offset = 0
    for im in images:
        new_im.paste(im, (0,x_offset))
        x_offset += im.size[1]
    os.chdir('..')
    new_im.save(f"{manhwa}.jpg")
    sleep(1)

但是我仍然一遍又一遍地遇到相同的错误,但是我有权在这个目录中写入

    Traceback (most recent call last):
  File "P:\m\OnePiece\PicsMerger.py", line 28, in <module>
    new_im.save(f"{manhwa}.jpg")
  File "C:\Users\walee\AppData\Local\Programs\Python\Python39\lib\site-packages\PIL\Image.py", line 2172, in save
    save_handler(self, fp, filename)
  File "C:\Users\walee\AppData\Local\Programs\Python\Python39\lib\site-packages\PIL\JpegImagePlugin.py", line 784, in _save
    ImageFile._save(im, fp, [("jpeg", (0, 0) + im.size, 0, rawmode)], bufsize)
  File "C:\Users\walee\AppData\Local\Programs\Python\Python39\lib\site-packages\PIL\ImageFile.py", line 534, in _save
    raise OSError(f"encoder error {s} when writing image file")
OSError: encoder error -2 when writing image file
python image python-imaging-library
1个回答
0
投票

您可能会遇到最大 JPEG 限制:65535 像素。尝试另存为 tiff 文件。

© www.soinside.com 2019 - 2024. All rights reserved.