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