Как установить изображение в Flutter - PullRequest
0 голосов
/ 25 апреля 2020

Я хочу установить изображение на экран своего флаттера, поэтому я использовал этот dependency, называемый getflutter. Я могу установить изображение, дав ссылку, как показано ниже.

class _AddNewsState extends State<AddNews> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Add News"),
        backgroundColor: Colors.black,
      ),
      body: Builder(
        builder: (context) => Container(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.start,
            children: <Widget>[
              SizedBox(
                height: 50.0,
              ),
              Expanded(
              flex: 2,
              child: Image.file(File(widget.imgPath),fit: BoxFit.cover,) //taking the image passed from `camera_screen.dart`, need to set this to `image:` tag under `GFImageOverlay` below
              ),
              Row(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Align(
                    alignment: Alignment.center,
                    child: GFImageOverlay(
                        height: 200,
                        width: 200,
                        shape: BoxShape.rectangle,
                        image: NetworkImage('https://via.placeholder.com/1380')),
                  )
                ],
              ),
            ],
          ),
        ),
      ),
    );
  }
}

У меня есть другой пользовательский интерфейс, который берет изображение с камеры и передает его этому AddNews пользовательскому интерфейсу, показанному выше.

Я хочу передать изображение, которое я снимаю в режиме реального времени с помощью камеры, на этот тег image: в классе GFImageOverlay в пакете getflutter.

Изображение, которым я являюсь взятие с камеры передается на этот AddNews, как показано ниже:

Это часть camera_screen.dart, где я вызываю AddNews класс и передаю изображение.

void _onCapturePressed(context) async {
    try {

      final path =
          join((await getTemporaryDirectory()).path, '${DateTime.now()}.png');
      await controller.takePicture(path);

      Navigator.push(
        context,
        MaterialPageRoute(
            builder: (context) => AddNews(
                  imgPath: path,
                )),
      );
    } catch (e) {
      _showCameraException(e);
    }
  }

В AddNews я хочу назначить это изображение тегу image: в GFImageOverlay.

Как я могу это сделать?

1 Ответ

0 голосов
/ 25 апреля 2020

Поскольку вы хотите показать изображение из файла, вы должны использовать провайдера FileImage:

GFImageOverlay(
  height: 200,
  width: 200,
  shape: BoxShape.rectangle,
  image: FileImage(File(widget.imgPath)),
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...