Преобразование файла изображения, созданного с использованием пакета флаттера image_picker, в AssetImage / Image.asset? - PullRequest
0 голосов
/ 20 сентября 2019

Я новичок во флаттере, я создаю приложение, в котором мне нужно конвертировать файл (изображение), сгенерированный после использования пакета image_picker, в изображение актива для использования в приложении.

Пример кода следующим образом, которыйсоздает файл (изображение)

final Function onSelectImage;

ImageInput(this.onSelectImage);

File _storedImage;


Future<void> _takePicture() async {

        final imageFile = await ImagePicker.pickImage(
                        source: ImageSource.camera,
                        maxWidth: 600,
        );

        if (imageFile == null) {
                return;
        }

        setState(() {
                _storedImage = imageFile;
        });

        final appDir = await syspaths.getApplicationDocumentsDirectory();

        final fileName = path.basename(imageFile.path);

        final savedImage = await imageFile.copy('${appDir.path}/$fileName');

        widget.onSelectImage(savedImage);
}

Заранее спасибо

1 Ответ

0 голосов
/ 20 сентября 2019

Вы можете создать переменную изображения, к которой можно вернуться и обновить ее при выборе изображения.

См. Следующий код:

final Function onSelectImage;

ImageInput(this.onSelectImage);

File _storedImage;

Image _tempImage;


Future<void> _takePicture() async {

        final imageFile = await ImagePicker.pickImage(
                        source: ImageSource.camera,
                        maxWidth: 600,
        );

        if (imageFile == null) {
                return;
        }

        setState(() {
                _storedImage = imageFile;
        });

        final appDir = await syspaths.getApplicationDocumentsDirectory();

        final fileName = path.basename(imageFile.path);

        final savedImage = await imageFile.copy('${appDir.path}/$fileName');

        widget.onSelectImage(savedImage);
        setState(() {
          _tempImage = imageFile;
        });


}


  @override
  Widget build(BuildContext context) {
    return _tempImage == null ? Container(child:null) : Image(image: _tempImage);
  }
...