有啥方法可以将 Kivy 相机照片保存为 base64 而不将其导出为 png?

Posted

技术标签:

【中文标题】有啥方法可以将 Kivy 相机照片保存为 base64 而不将其导出为 png?【英文标题】:Is there any way to save Kivy Camera photo as base64 without exporting it to png?有什么方法可以将 Kivy 相机照片保存为 base64 而不将其导出为 png? 【发布时间】:2020-11-15 07:07:30 【问题描述】:

我想知道是否可以将来自 kivy 的相机捕获保存为 base64,而无需将其导出为 png 并将其存储在我的设备上。 我正在使用这段代码: https://kivy.org/doc/stable/examples/gen__camera__main__py.html 拍照并保存为 png。

我可以避免将其保存为外部的 png 并将其转换为字符串或值或任何东西吗?

我要求这样做的原因是我想将其作为附件发送,并且在将其导出为 png 后,照片不会保存在我的 Iphone 上。我的程序以后无法将其更改为 base64 并发送它,因为照片没有出现在我的手机中,这会导致我的应用程序崩溃。

感谢您的帮助!

【问题讨论】:

嗨,Kacper,你解决了这个问题吗?想要做同样的事情。 【参考方案1】:

您可以使用export_as_image 获取 Kivy Image 对象,您可以随意操作其像素。

您可能还会发现查看the source code for this 会很有趣。

【讨论】:

好的,但是有没有办法将 kivy.core.image.Image 对象更改为 base64?我想我应该 .read() 那个,但它没有那个属性 我认为你想要the_image.texture.pixels 之类的东西(或者更一般地说,你想要获取纹理对象,并且想要访问它的像素属性)。我不确定这会返回什么,可能是字节串或数字列表,但无论哪种方式,您都可以根据需要重新编码。

以上是关于有啥方法可以将 Kivy 相机照片保存为 base64 而不将其导出为 png?的主要内容,如果未能解决你的问题,请参考以下文章

kivy相机实时应用滤镜

数码相机中相片有各种格式,请问有啥区别?

Android 位图到 Base64 字符串

将照片从相机保存到安卓内部存储

仅当它们由相机拍摄而不是从照片库中选择时才将图像保存到照片库

Android:保存用户使用相机拍摄的照片