PIL保存为24位真彩色位图
我有一个用Gnuplot生成的PNG文件,我想把它放进一个Excel文档里,使用的是XLWT这个库。
不过,XLWT不能直接把PNG文件导入到文档中,它只支持BMP格式,所以我需要先把PNG转换成BMP。我是用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位真彩色的位图呢?
1 个回答
8
没事!我自己搞定了。
把
im = Image.open('%s' % os.path.join(os.getcwd(), s + '.png'))
改成
im = Image.open('%s' % os.path.join(os.getcwd(), s + '.png')).convert("RGB")