繁体   English   中英

如何在不保存图像的情况下用枕头创建位图?

[英]How to create bitmap with Pillow from image without saving image?

目前我使用

im.save(save_img)
out_book.get_sheet(0).insert_bitmap(save_img, 0, 0)

将位图插入Excel工作表。

我尝试使用将图像转换为位图

im = Image.tobitmap(image_name)

但我得到AttributeError: module 'PIL.Image' has no attribute 'tobitmap'

我找到了这个,但是尝试并没有解决我的问题。 这是一个全新的Windows安装程序,也是一个全新的virtualenv,其中从来没有PIL仅枕头4.3.0。 我还在枕头的源文件中找到了位图,该位图在在线文档中。 奇怪的是我可以用

im = Image.open(image_name).convert("RGB")
im.thumbnail((533, 70))
im.save(save_img)
out_book.get_sheet(0).insert_bitmap(save_img, 0, 0)

但不是tobitmap,有什么想法吗?

编辑:当然,我可以在插入后删除临时保存的文件,但这并不是真正的pythonic /好方法。

如果使用的是from PIL import Image使用枕头库时应如此),则此后Image将是模块的名称,该模块没有名为tobitmap属性或函数。 您可能会感到困惑,因为该模块中还有一个类,它也称为Image ,并且该类的实例确实具有您可以尝试使用的tobitmap()方法。

底线:您需要调用Image.open()或创建Image.Image 实例,然后可以调用其tobitmap()方法。

就是说,我认为这不会有助于避免在调用out_book.get_sheet(0).insert_bitmap()之前必须将图像保存到文件中,因为从您在注释中所说的insert_bitmap() ,这听起来像insert_bitmap()方法将接受文件/路径参数(换句话说, 文件名 ,而不是仅存储在内存中的文件名)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM