嘿伙计们,我有一个由Gnuplot生成的png文件,我需要使用XLWT将其放入excel文档中。
XLWT无法将PNG导入文档,只能导入BMP,因此我需要先转换PNG。我使用了PIL。
以下是相关代码:
im = Image.open('%s' % os.path.join(os.getcwd(), s + '.png'))
im.save('%s.bmp' % s)
然而,XLWT给了我这个错误:
Exception: bitmap isn't a 24bit true color bitmap.
这是XLWT代码的样子:
self.chart.insert_bitmap(path, 2, 2)
我知道两张图片都运行正常,它们都可以通过Windows打开。我还尝试在创建BMP后添加2秒暂停(以弥补写入时间),但它仍然失败。
如何使用PIL制作24位真彩色位图?
答案 0 :(得分:5)
没关系!我自己想出来了。
更改
im = Image.open('%s' % os.path.join(os.getcwd(), s + '.png'))
要
im = Image.open('%s' % os.path.join(os.getcwd(), s + '.png')).convert("RGB")