如何解决如何在 Flutter 中通过画廊或相机从所选图像中获取图像不想在屏幕上显示?
我有以下 Flutter / dart 代码,可让我打开相机 / 图库以选择图片。但我不想立即在屏幕上显示图像(就像这里一样)。我希望图像处理它,所以可能保存它或获取像'Image.asset("")'这样的图像。主要是我可以在选择后对图像做一些事情。
class MyHomePage extends StatefulWidget {
MyHomePage({Key key,this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
Future<File> imageFile;
pickImageFromGallery(ImageSource source) {
setState(() {
});
imageFile = ImagePicker.pickImage(source: source);
}
Widget showImage() {
return FutureBuilder<File>(
future: imageFile,builder: (BuildContext context,AsyncSnapshot<File> snapshot) {
if (snapshot.connectionState == ConnectionState.done && snapshot.data != null) {
return Image.file(
snapshot.data,width: 300,height: 300,);
}
else {
return Text("error");
}
},);
}
bildmachen(ImageSource quelle) {
pickImageFromGallery(quelle);
Widget bildAusgabe = showImage();
Navigator.of(context).push(MaterialPageRoute(
builder: (BuildContext context) => Bildzeige(bildAusgabe)));
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),),body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[
showImage,RaisedButton(
child: Text("gehtschon?"),onPressed: () {
bildmachen(ImageSource.gallery);
},],backgroundColor: Colors.yellowAccent,);
}
}
谢谢
解决方法
如果要将 ImagePicker 中选定的图像保存在 File 对象中 你可以这样做
File _imageFile;
final picker = ImagePicker();
.
.
.
Future getImage() async {
final pickedFile = await picker.getImage(source: ImageSource.gallery);
setState(() {
if (pickedFile != null) {
_imageFile = File(pickedFile.path);
}
});
}
// the getImage() method will opens the ImagePicker and the selected image will be stored in _imageFile
我希望这个解决方案有帮助
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。