我正在使用Kivy / Python开发一些简单的应用程序。我有一些问题,显示早先通过相机保存在Android存储中的图像。下面我发布了一个take_shot方法,拍摄照片并将其保存在android中的/ storage / emulated / 0 / Kalkulator / dir中。之后,图片的路径将存储在sqlite数据库中。
def take_shot(self,name,when):
if kiedy == 'before':
self.before='/storage/emulated/0/Kalkulator/'+name+when+'.jpg'
camera.take_picture(self.before,self.done(when))
elif kiedy == 'after':
self.after = '/storage/emulated/0/Kalkulator/' + name + when+'.jpg'
camera.take_picture(self.after, self.done(when))
以下代码用于读取 data 从数据库获取的文件的方法。当我尝试从Android存储中显示文件时,kivy只显示黑色方块。当我尝试从应用程序目录' ./ files / photos / irina.jpg' 显示图像时,一切正常。
if str(data[5])=='Empty':
before=Image(source='./files/photos/irina.jpg',
keep_ratio=True,size_hint= (1,None),height=dp(400))
else:
before = Image(source=str(dane[5]), keep_ratio=True,size_hint=
(1,None),height=dp(400))
if str(data[6]) == 'Empty':
after = Image(source='./files/photos/irina.jpg',
keep_ratio=True,size_hint= (1,None),height=dp(400))
else:
after = Image(source=str(dane[6]), keep_ratio=True,size_hint=
(1,None),height=dp(400))
photos.add_widget(before)
photos.add_widget(after)
self.ids.box.add_widget(photos)
问题出在哪里?我在日志中没有任何错误。
我看到kivy没有显示任何分辨率更高的图像。
答案 0 :(得分:0)
如果您确定它是关于图片大小的,我猜您可以做的事情:
尝试使用kivy master分支(在buildozer的要求中使用kivy==master
)来构建apk:bug可以在那里修复
尝试使用其他image provider
(将KIVY_IMAGE
设为pil
)。
尝试使用Pillow reduce image size。
报告项目github
在kivy用户支持google group