cropImage method
Implementation
Future<File?> cropImage(
File imageFile, {
CropSettings? cropSettings,
}) async {
final settings = cropSettings ?? CropSettings();
try {
final croppedFile = await ImageCropper().cropImage(
sourcePath: imageFile.path,
aspectRatio: settings.aspectRatio,
compressQuality: settings.compressQuality,
compressFormat: settings.compressFormat,
uiSettings: [
AndroidUiSettings(
toolbarTitle: settings.toolbarTitle,
toolbarColor: settings.toolbarColor,
toolbarWidgetColor: settings.toolbarWidgetColor,
backgroundColor: settings.backgroundColor,
activeControlsWidgetColor: settings.primaryColor,
initAspectRatio: settings.initAspectRatio,
lockAspectRatio: settings.lockAspectRatio,
hideBottomControls: settings.hideBottomControls,
),
IOSUiSettings(
title: settings.toolbarTitle,
cancelButtonTitle: 'Cancel',
doneButtonTitle: 'Done',
rotateButtonsHidden: true,
rotateClockwiseButtonHidden: true,
aspectRatioLockEnabled: settings.lockAspectRatio,
resetAspectRatioEnabled: !settings.lockAspectRatio,
),
],
);
if (croppedFile != null) {
return File(croppedFile.path);
}
} catch (e) {
print('Error cropping image: $e');
}
return null;
}