如何在不保存的情况下将小部件画布(纹理)转换为.png?

时间:2019-04-17 05:47:54

标签: python opengl kivy

我希望能够做到这一点:

#Reference widget
my_widget = self.ids.my_widget_kv
#Extract texture or graphics
drawing = my_widget.texture (or something that works)

#TODO convert to drawing .png in binary

#TODO edit in PIL

待办事项保存或附加到电子邮件

此刻,我将my_widget.texture设置为None,将my_widget.canvas作为画布对象。

我想按原样提取小部件的外观,并将其转换为.png以附加到电子邮件或进行编辑。

timestr = time.strftime("%Y%m%d_%H%M%S")
self.ids.export_to_png("IMG_{}.png".format(timestr))

此代码将drawing_zone外观保存到存储中。我无法在步骤之间进行某些修改。

1 个答案:

答案 0 :(得分:0)

如果您只是打开并阅读PNG文件,则将获得字节,然后可以根据自己的喜好来操作这些字节。

canvas_png = open("IMG.png","r+b").read()
canvas_data = (canvas_png.getvalue())

print(canvas_data)

您应该看到需要将“二进制”存储在此变量中。