Как получить плоскую камеру для сохранения изображений? - PullRequest
0 голосов
/ 17 апреля 2019

Когда я запускаю свое приложение на своем телефоне Android Huawei, и плоская камера открывает приложение камеры, после съемки фотографии изображение не находится в его каталоге, даже после перезагрузки телефона.

Когда я использую Image.open ("/ storage / emulated / 0 / Download / .... png"), он работает, но при установке этого имени в качестве имени файла в camera._take_picture (), файл не Успешно сохранено. Я попытался отредактировать URI, чтобы начать с «content: //», а затем ни с чем, но в итоге ничего не работает.

Есть ли способ это исправить?

    def on_success_shot(self, filename):
        global File
        try:
            Intent = autoclass('android.content.Intent')
            PythonActivity = autoclass('org.renpy.android.PythonActivity')
            Uri = autoclass('android.net.Uri')

            context = PythonActivity.mActivity
            intent = Intent()
            uri = 'content://{0}'.format(filename)
            intent.setAction(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE)
            intent.setData(Uri.parse(uri))
            context.sendBroadcast(intent)

            im = Image.open(filename)
            im.thumbnail(Window.size)
            outfile = '{0}.png'.format(File)
            im.save(outfile, "PNG")
        except Exception as e:
            Logger.error(str(e))
            self.error = str(e)

    def update(self, *args):
        global Results, Resulta, File
        self.my_camera = MyCamera()
        File = "/storage/emulated/0/Download/SpeedBot"
        self.my_camera._take_picture(self.on_success_shot, self.image_path)

Позже в коде запускается OGImg = Image.open ("{}. Png" .format (File)), и он должен распознать, что там есть изображение, и открыть его. Я использую Python 3.6, buildozer и все последние версии Android API и NDK.

...