我是Flutter的新手,无法获取image_picker来打开图库中的图片。
它会打开Gallery,但是当我点击图片时,只需关闭图库
我的代码是这样的。我想念的是什么?
File _imagenTemporal;
var imagen;
Future getImagen(String opcion) async {
if (opcion == "camara") {
imagen = await ImagePicker.pickImage(source: ImageSource.camera);
} else if (opcion == "galeria") {
imagen = await ImagePicker.pickImage(source: ImageSource.gallery);
}
setState(() {
_imagenTemporal = imagen;
}
);
}
答案 0 :(得分:0)
ImagePicker
只是一个FileChooser
函数,当用户从图库中选择Future<File>
或拍照时,它返回一个File
小部件。您应该使用返回的文件构造一个Image.file
小部件:
Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
child: showSelectedImage();
),
Future<Image> showSelectedImage() async {
_imagenTemporal = await ImagePicker.pickImage(source: ImageSource.gallery);
return Image.file(_imageTemporal);
}
答案 1 :(得分:0)
我尝试了您的答案,但MediaQuery出现错误,因此我尝试了此代码,但它也没有显示图像(我也没有收到任何错误)。
我不知道我在做什么错..有一段视频显示了这段代码,它可以工作...但是对我来说不行。
感谢您的帮助。
_MyAppState类扩展了状态{
文件_imagen;
未来getImagen()异步{
var imagen = await ImagePicker.pickImage(source: ImageSource.gallery);
setState(() {
_imagen = imagen;
});
}
@override
小部件构建(BuildContext上下文){
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('picker'),
),
body: Container(
child: Center(
child: _imagen == null
? new Text('no hay imagen')
: new Image.file(_imagen),
),
),
floatingActionButton: new FloatingActionButton(
onPressed: getImagen,
child: Icon(Icons.camera),
),
),
);
} }