//产品需求是 拍照和相册选择照片 然后进入照片编辑页面 完成编辑上传图片


用到的库有image_picker 实现图片选择和拍照
https://pub.flutter-io.cn/packages/image_picker
和image_cropper 实现图片编辑
https://pub.dev/packages/image_cropper
首先 image_picker
Future getCameraImage()async {
var image =await ImagePicker.pickImage(
source: ImageSource.camera, maxWidth:800, maxHeight:800);//maxWidth和maxHeight是像素,改变图片大小
// print('相机=$image');
// _uploadImage(image);
setState(() {
_image = image;
});
_cropImage();//裁剪图片的方法
}
_cropImage()async {
print('裁剪');
File croppedFile =await ImageCropper.cropImage(
sourcePath:_image.path,
aspectRatioPresets: [
CropAspectRatioPreset.square,
CropAspectRatioPreset.ratio3x2,
CropAspectRatioPreset.original,
CropAspectRatioPreset.ratio4x3,
CropAspectRatioPreset.ratio16x9
],
androidUiSettings:AndroidUiSettings(
toolbarTitle:'编辑图片',
toolbarColor: Colors.white,
toolbarWidgetColor: Colors.black,
initAspectRatio: CropAspectRatioPreset.original,
lockAspectRatio:false),
iosUiSettings:IOSUiSettings(
minimumAspectRatio:1.0,
));
if (croppedFile !=null) {
_image = croppedFile;
setState(() {});
}
_uploadImage(croppedFile);
}
网友评论