Python PIL 图像保存

6

我对PIL库还不熟悉,遇到了一些问题。

base = Image.open('sam.bmp')
base.save(open('base.bmp', 'w'), 'BMP')

当我执行那段代码时,保存的图像以某种奇怪的方式变形了。
原始图像: original image 打开并保存的图像: enter image description here 如您所见,我没有对图像进行任何转换 - 只是加载和保存。你有什么线索,为什么它会这样工作吗?

哪个版本?PIL还是Pillow? - kindall
1
酷!我以为 base.save('base.bmp') 会直接起作用的? - Reti43
@kindall Pillow 3.1.0 - mnowak
'w' 是文本模式。BMP 是二进制格式。 - Peter Wood
2个回答

5
Reti43所说,您只需使用base.save('base.bmp')

1
文档链接:http://pillow.readthedocs.org/en/3.0.x/reference/Image.html#PIL.Image.Image.save。可以使用文件名,例如 base.bmp,或以二进制模式打开文件,例如 open(base.bmp, 'wb') - Reti43
1
不要忘记在 open('base.bmp', 'wb') 上加引号。 - PsyKzz

2
这个有效:
base = Image.open('sam.bmp')
base.save('base.bmp')

通过使用base.save(open('base.bmp', 'w'), 'BMP'),我已经在文本模式下打开了文件,而不是二进制模式。 - mnowak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接