cropOnly static method

Future<ImagePickerData> cropOnly(
  1. ImagePickerData old, {
  2. required int maxWidth,
  3. required int maxHeight,
  4. CropAspectRatio? aspectRatio,
  5. List<CropAspectRatioPreset> aspectRatioPresets = const [CropAspectRatioPreset.original, CropAspectRatioPreset.square, CropAspectRatioPreset.ratio3x2, CropAspectRatioPreset.ratio4x3, CropAspectRatioPreset.ratio16x9],
  6. CropStyle cropStyle = CropStyle.rectangle,
  7. ImageCompressFormat compressFormat = ImageCompressFormat.jpg,
  8. int compressQuality = 90,
  9. AndroidUiSettings? androidUiSettings,
  10. IOSUiSettings? iosUiSettings,
})

Implementation

static Future<ImagePickerData> cropOnly(
  ImagePickerData old, {
  required int maxWidth,
  required int maxHeight,
  CropAspectRatio? aspectRatio,
  List<CropAspectRatioPreset> aspectRatioPresets = const [
    CropAspectRatioPreset.original,
    CropAspectRatioPreset.square,
    CropAspectRatioPreset.ratio3x2,
    CropAspectRatioPreset.ratio4x3,
    CropAspectRatioPreset.ratio16x9
  ],
  CropStyle cropStyle = CropStyle.rectangle,
  ImageCompressFormat compressFormat = ImageCompressFormat.jpg,
  int compressQuality = 90,
  AndroidUiSettings? androidUiSettings,
  IOSUiSettings? iosUiSettings,
}) async {
  String sourcePath = '';
  if (old.orginal != null &&
      old.orginal.path != null &&
      old.orginal.path.isNotEmpty)
    sourcePath = old.orginal.path;
  else if (old.orginal != null && old.path != null && old.path.isNotEmpty)
    sourcePath = old.path;
  final file = await ImageCropper.cropImage(
    sourcePath: sourcePath,
    maxHeight: maxHeight,
    maxWidth: maxWidth,
    androidUiSettings: androidUiSettings,
    aspectRatio: aspectRatio,
    aspectRatioPresets: aspectRatioPresets,
    compressFormat: compressFormat,
    compressQuality: compressQuality,
    cropStyle: cropStyle,
    iosUiSettings: iosUiSettings,
  );
  if (file?.existsSync() ?? false) {
    old._crop(file!);
  } else {
    final dirti = await getTemporaryDirectory();
    final fileName = basenameWithoutExtension(old.path);
    final targetdir = '${dirti.path}/$fileName${old.id}.jpg';
    final file2 = await FlutterImageCompress.compressAndGetFile(
        old.path, targetdir,
        format: CompressFormat.jpeg,
        quality: compressQuality,
        minHeight: maxHeight,
        minWidth: maxWidth);
    if (file2?.existsSync() ?? false) old._crop(file2!);
  }
  return old;
}