首页 > 解决方案 > 如何在 kivy 中直接将图像二进制数据用于图标和 FloatButtons 等小部件

问题描述

我很少有二进制形式存储在数据库中的图标图片。现在我有几种方法:

从数据库中获取二进制数据并将其转换为 png 或 jpeg 文件并将其存储在用户的设备上

或者

直接使用二进制数据而不将其存储在用户设备上

我更喜欢第二个。但问题是 MDIcon 或 FloatButton 等 kivy 小部件需要一串地址而不是二进制数据,因此它们是解决此问题的一种方法。

如果他们是解决这个问题的更好方法,请告诉我。

标签: pythonimagekivybinary-data

解决方案


您可以转换图像而无需像这样将其保存在驱动器上。

from io import BytesIO

def convertToJpeg(img):
    with BytesIO() as f:
        img.save(f, format='JPEG')
        return f.getvalue()

推荐阅读