错误:无法使用静态访问来访问实例成员“cropImage”

Nai*_*ito 12 dart flutter

class ImagesCropper {
static Future<File?> cropImage(XFile file) async {
final File? croppedImage = await ImageCropper.cropImage(
  sourcePath: file.path,
  aspectRatioPresets:
      Platform.isAndroid ? crossAspectRatioAndroid : crossAspectRatioIos,
  androidUiSettings: androidUiSettings,
  iosUiSettings: iosUiSettings,
);
return croppedImage;
}
}
Run Code Online (Sandbox Code Playgroud)

我把完整的代码放在这里:

https://controlc.com/9590e7b1

这是调试控制台中的错误调试控制台

调试控制台

小智 27

只需更改ImageCropper.cropImageImageCropper().cropImage. 这将使用 ImageCropper 的新实例。


Lig*_*ing 20

看起来您正在使用 ImageCropper 包。https://github.com/hnvn/flutter_image_cropper/blob/master/lib/src/cropper.dart#L61出现错误,因为该方法不是静态的,因此您必须创建该类的新实例才能访问它

await ImageCropper().cropImage...
Run Code Online (Sandbox Code Playgroud)

完整的代码更正如下

class ImagesCropper {
static Future<File?> cropImage(XFile file) async {
final File? croppedImage = await ImageCropper().cropImage(
  sourcePath: file.path,
  aspectRatioPresets:
      Platform.isAndroid ? crossAspectRatioAndroid : crossAspectRatioIos,
  androidUiSettings: androidUiSettings,
  iosUiSettings: iosUiSettings,
);
return croppedImage;
}
}
Run Code Online (Sandbox Code Playgroud)