如何在不保存图像的情况下使用 Pillow 从图像创建位图?
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 sheet。
我尝试使用
将图像转换为位图
im = Image.tobitmap(image_name)
但我得到 AttributeError: module 'PIL.Image' has no attribute 'tobitmap'
我找到了 this,但尝试并没有解决我的问题。这是一个全新的 windows 安装和一个全新的 virtualenv,其中从来没有 PIL only pillow 4.3.0。我还在我的枕头源文件中找到了 tobitmap,它在在线文档中。奇怪的是我可以使用
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)
但不是位图,有什么想法吗?
编辑:当然我可以在插入后删除临时保存的文件,但这并不是真正的 pythonic/good 做事方式。
如果您正在使用 from PIL import Image
——正如您在使用 pillow 库时应该使用的那样——然后 Image
将是模块的名称,它没有名为 [= 的属性或函数12=]。您可能感到困惑,因为该模块中还有一个 class,它也被命名为 Image
,并且 class do 的实例有您可以尝试使用的 tobitmap()
方法。
底线:您需要调用 Image.open()
或以其他方式创建一个 Image.Image
实例 然后您可以调用它的 tobitmap()
方法。
也就是说,我不认为这有助于避免在调用 out_book.get_sheet(0).insert_bitmap()
之前必须将图像保存到文件中,因为根据您在评论中所说的,这听起来像是 insert_bitmap()
方法将接受一个 file/path 参数(换句话说, 文件的名称,而不是只存储在内存中的东西。
目前我在用
im.save(save_img)
out_book.get_sheet(0).insert_bitmap(save_img, 0, 0)
将位图插入 excel sheet。
我尝试使用
将图像转换为位图im = Image.tobitmap(image_name)
但我得到 AttributeError: module 'PIL.Image' has no attribute 'tobitmap'
我找到了 this,但尝试并没有解决我的问题。这是一个全新的 windows 安装和一个全新的 virtualenv,其中从来没有 PIL only pillow 4.3.0。我还在我的枕头源文件中找到了 tobitmap,它在在线文档中。奇怪的是我可以使用
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)
但不是位图,有什么想法吗?
编辑:当然我可以在插入后删除临时保存的文件,但这并不是真正的 pythonic/good 做事方式。
如果您正在使用 from PIL import Image
——正如您在使用 pillow 库时应该使用的那样——然后 Image
将是模块的名称,它没有名为 [= 的属性或函数12=]。您可能感到困惑,因为该模块中还有一个 class,它也被命名为 Image
,并且 class do 的实例有您可以尝试使用的 tobitmap()
方法。
底线:您需要调用 Image.open()
或以其他方式创建一个 Image.Image
实例 然后您可以调用它的 tobitmap()
方法。
也就是说,我不认为这有助于避免在调用 out_book.get_sheet(0).insert_bitmap()
之前必须将图像保存到文件中,因为根据您在评论中所说的,这听起来像是 insert_bitmap()
方法将接受一个 file/path 参数(换句话说, 文件的名称,而不是只存储在内存中的东西。