1
我尝试使用Plyer相机制作一个小应用程序。Kivy Plyer相机
def take_shot(self, *args):
self.filepath = IMAGE_PATH
self.time = datetime.now().strftime("%Y%m%d_%H%M%S%f")
self.filename = '{0}/IMG_{1}.jpg'.format(self.filepath, self.time)
try:
camera.take_picture(filename=self.filename, on_complete=self.complete_callback)
except NotImplementedError:
self.camera_status = 'Camera is not implemented for your platform'
def complete_callback(self):
try:
im = Image.open(self.filename)
im.thumbnail(Window.size)
outfile = '{0}/IMG_{1}-thumbnail.jpg'.format(self.filepath, self.time)
im.save(outfile, "JPEG")
except Exception as e:
self.error = str(e)
return False
但是:
- 当我进行拍摄,照片是不是在设备上的画廊可见,看来只有在设备复位。
- 函数complete_callback不被调用。
疯狂的猜测:由于同样的问题,您的'complete_callback'没有被调用,照片在画廊中是不可见的。如果它返回一些奇怪的东西,从应用程序发布日志,否则logcat中的日志就足够了。 – KeyWeeUsr
不,我发现'complete_callback'中的错误在哪里 - 它获取'filename'参数,但照片仍然不在画廊中可见。 – Dzmitry
所有的kivy文件只有在设备重新启动后才会出现。我使用Android 5.0.2的摩托罗拉Moto G。 – Dzmitry