TypeError:write()参数必须是str,而不是bytes(保存位图)

时间:2016-09-21 12:27:42

标签: python tkinter python-imaging-library

我试图保存使用PIL.Image.new()创建的图像。图像在" RGB"中打开。模式,我通过image.load()将各种值分配到图像中的像素。当我尝试使用image.save(filename,' BMP')将图像保存到文件时,但这会给出错误TypeError:write()参数必须是str,而不是字节。我从文件中看到了类似的文本操作问题,但这不是来自文件:数据是在运行时生成的。也与图像无关。我该怎么办???

代码:

from PIL import Image

image = Image.open(filename)

newImg = Image.new("RGB", (image.width, image.height))

pixels = newImg.load()

for j in range(image.height):
    for i in range(image.width):
        RGB = image.getpixel((i, j))

        newPixel = []

        for k in range(3):
            newPixel.append(RGB[k])

        pixels[i, j] = tuple(newPixel)

newImg.save(newFilename, 'BMP')

0 个答案:

没有答案