在FlatButton中拍摄的预览图像

时间:2020-08-13 11:33:16

标签: image flutter

您好,编码人员,我又来一个问题。 因此,我在我的应用程序中,用户填写了一个表格,然后他必须拍照,使用gallery_saver将这张照片保存在手机中,效果很好,但是我必须在我的应用程序中添加该图片的预览用户拍摄了照片,我尝试了一个具有默认图像的FlatButton,单击此按钮将打开相机,并在用户制作照片后出现问题,我想在用户拍摄图片后使用FlatButton图像会使用用户拍摄的照片进行更新(这是一个website,其中包含我要制作的照片,很抱歉,该网站不是英文的,当您打开该网站时,“ FILTRE”旁边有一个标签单击名为“ SEMNALEAZA PROBLEMA”的标签,然后您将在其中带有3个按钮的相机图标。我想做类似的事情,当用户单击该图标时,它将拍照并更新图标。在用户拍摄的照片中)。

我预览了一些图像: enter image description here

用户将点击该按钮,然后上传/拍照后,就像下一张图片enter image description here

在Java中非常简单,因为我们有iD,但是在颤动中我没有注意到类似的东西

这是我拍照的方式:

void _takePhoto() async {
ImagePicker.pickImage(source: ImageSource.camera).then((File image) {
  if (image != null && image.path != null) {
    setState(() {
      recordedImage = image;
      attachments.add(FileAttachment(recordedImage));
    });
    GallerySaver.saveImage(image.path).then((bool success) {
      setState(() {});
    });
  }
});

}

这是我的应用的外观: enter image description here

我希望在单击带圆圈的按钮之后,用户将使用上面的代码拍摄照片,并且在用户拍摄照片后,按钮中的默认图像将在用户拍摄的照片中更改。但是我不知道如何告诉我的应用程序从FlatButton更改图像

这是我的按钮代码:

Container(
    width: 100,
    height: 100,
    child:  FlatButton(
        child: SvgPicture.asset('assets/images/photo.svg'),
            onPressed: () {
                setState(() {
                      
                });
             },
        ),
    ),

在setState()函数中,将有_takePicture函数,然后我想在拍照预览中从FlatButton更改图像

如果您需要有关我的代码的更多信息,请随时询问

1 个答案:

答案 0 :(得分:1)

我使用了文档中的图像选择器示例,添加了一个按钮,其中包含拍摄后的图片:

import 'package:image_picker/image_picker.dart';

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  File _image;
  final picker = ImagePicker();

  Future<void> getImage() async {
    final pickedFile = await picker.getImage(source: ImageSource.camera);

    if(pickedFile != null && pickedFile.path != null) {
      setState(() {
        _image = File(pickedFile.path);
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Image Picker Example'),
      ),
      body: Center(
        child: _image == null
            ? FlatButton(child: Text('Pick image.'), onPressed: getImage)
            : FlatButton(child: Image.file(_image), onPressed: getImage)
      ),
    );
  }
}