【问题标题】:How to use image binary data directly in kivy for widgets like icon and FloatButtons如何在 kivy 中直接将图像二进制数据用于图标和 FloatButtons 等小部件
【发布时间】:2021-06-15 15:24:59
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 我们需要更多信息。比如,这个二进制数据在哪里,你想把它转换成什么格式,你打算使用哪个模块,等等。
  • 对不起兄弟。首先,我正在使用文件的读取方法读取图像。然后我将获得的二进制数据存储在 mysql 表中。然后我的计划是使用表中的数据,直接在kivy中使用。但我没有想法做 si
  • 我做的另一件事是使用 bytesio 和 kivy coreimage 图像模块将二进制数据转换为图像。但问题是我必须将文件存储在我不想要的用户设备中。因此,任何更好的想法或任何直接在 MdIcon 等 kivy 小部件中使用二进制数据的方法
  • 别担心!你说,你试过 BytesIO。使用 BytesIO,您不必将文件存储在实际驱动器上。要我发布一个例子吗?
  • 是的,兄弟,你能不能发个例子.. 抱歉迟到了回复

标签: python image kivy binary-data


【解决方案1】:

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

from io import BytesIO

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

【讨论】:

  • 谢谢老哥,不过能不能再帮帮忙解释一下这个功能?
猜你喜欢
  • 1970-01-01
  • 2015-03-11
  • 1970-01-01
  • 2019-01-06
  • 1970-01-01
  • 1970-01-01
  • 2020-11-18
  • 1970-01-01
  • 2013-02-15
相关资源
最近更新 更多