Python 为什么我会得到;无法保存模式RGBA";使用PIL时出错?

Python 为什么我会得到;无法保存模式RGBA";使用PIL时出错?,python,python-imaging-library,Python,Python Imaging Library,我正在尝试将图像转换为PDF格式。 我有以下代码: def convertToPDF(folder, PDFname, deleteLast=False): ''' converts all images in a folder to a PDF. ''' imageList = [] for filename in glob.glob(folder + f'/*'): image=Image.open(filename)

我正在尝试将图像转换为PDF格式。 我有以下代码:

def convertToPDF(folder, PDFname, deleteLast=False):
    '''
    converts all images in a folder to a PDF. 
    '''
    imageList = []
    for filename in glob.glob(folder + f'/*'):
        image=Image.open(filename)
        image.convert('RGB') # convert to RGB
        imageList.append(image)

    imageList[0].save(f'./' + PDFname + '.pdf',save_all=True, append_images=imageList[1:]) # take the first image and add everything else
我有时会犯这样的错误:

 File "c:\Users\felix\OneDrive\Desktop\Programmieren\TelegrammBotProjekt\manganeloAPI.py", line 195, in convertToPDF
   imageList[0].save(f'./' + PDFname + '.pdf',save_all=True, append_images=imageList[1:]) # take the first image and add everything else
 File "C:\Users\felix\Anaconda3\lib\site-packages\PIL\Image.py", line 2151, in save
   save_handler(self, fp, filename)
 File "C:\Users\felix\Anaconda3\lib\site-packages\PIL\PdfImagePlugin.py", line 41, in _save_all
   _save(im, fp, filename, save_all=True)
 File "C:\Users\felix\Anaconda3\lib\site-packages\PIL\PdfImagePlugin.py", line 156, in _save
   raise ValueError(f"cannot save mode {im.mode}")
ValueError: cannot save mode RGBA
有人知道问题是什么以及如何解决吗? 我以为我已经在将每个图像转换为
'RGB'
。那么,为什么会出现此错误?

.convert('RGB')
;它用于在
RGB
图像和基于调色板的图像之间进行转换(调色板的主要操作是
P
L
用于单通道(灰度)和独立通道的
RGB

而是关于进行转换以删除alpha通道。从链接的答案中:

from PIL import Image

png = Image.open(object.logo.path)
png.load() # required for png.split()

background = Image.new("RGB", png.size, (255, 255, 255))
background.paste(png, mask=png.split()[3]) # 3 is the alpha channel
然后,您可以在图像列表中使用
background
,并将其保存到PDF中。您现在还明确地使这些图像具有白色背景