python - 如何在 kivy 中直接将图像二进制数据用于图标和 FloatButtons 等小部件
问题描述
我很少有二进制形式存储在数据库中的图标图片。现在我有几种方法:
从数据库中获取二进制数据并将其转换为 png 或 jpeg 文件并将其存储在用户的设备上
或者
直接使用二进制数据而不将其存储在用户设备上
我更喜欢第二个。但问题是 MDIcon 或 FloatButton 等 kivy 小部件需要一串地址而不是二进制数据,因此它们是解决此问题的一种方法。
如果他们是解决这个问题的更好方法,请告诉我。
解决方案
您可以转换图像而无需像这样将其保存在驱动器上。
from io import BytesIO
def convertToJpeg(img):
with BytesIO() as f:
img.save(f, format='JPEG')
return f.getvalue()