cropImage function
Future<CroppedFile?>
cropImage({
- required File file,
- dynamic action(
- CroppedFile file
- int? maxWidth,
- int? maxHeight,
- CropStyle cropStyle = CropStyle.rectangle,
- CropAspectRatio cropAspectRatio = const CropAspectRatio(ratioX: 3, ratioY: 1.2),
- ImageCompressFormat imageCompressFormat = ImageCompressFormat.png,
- AndroidUiSettings? androidUiSettings,
- IOSUiSettings? iOSUiSettings,
- List<
CropAspectRatioPreset> aspectRatioPresets = const <CropAspectRatioPreset>[CropAspectRatioPreset.original, CropAspectRatioPreset.square, CropAspectRatioPreset.ratio3x2, CropAspectRatioPreset.ratio4x3, CropAspectRatioPreset.ratio16x9],
Implementation
Future<CroppedFile?> cropImage({
required final File file,
final Function(CroppedFile file)? action,
final int? maxWidth,
final int? maxHeight,
final CropStyle cropStyle = CropStyle.rectangle,
final CropAspectRatio cropAspectRatio = const CropAspectRatio(ratioX: 3, ratioY: 1.2),
final ImageCompressFormat imageCompressFormat = ImageCompressFormat.png,
final AndroidUiSettings? androidUiSettings,
final IOSUiSettings? iOSUiSettings,
final List<CropAspectRatioPreset> aspectRatioPresets = const <CropAspectRatioPreset>[
CropAspectRatioPreset.original,
CropAspectRatioPreset.square,
CropAspectRatioPreset.ratio3x2,
CropAspectRatioPreset.ratio4x3,
CropAspectRatioPreset.ratio16x9,
],
}) async {
final CroppedFile? result = await ImageCropper().cropImage(
sourcePath: file.path,
maxWidth: maxWidth,
maxHeight: maxHeight,
aspectRatio: cropAspectRatio,
compressFormat: imageCompressFormat,
cropStyle: cropStyle,
aspectRatioPresets: aspectRatioPresets,
uiSettings: <PlatformUiSettings>[
androidUiSettings ??
AndroidUiSettings(
toolbarTitle: 'Crop Your Image',
showCropGrid: true,
hideBottomControls: false,
lockAspectRatio: true,
initAspectRatio: CropAspectRatioPreset.square,
activeControlsWidgetColor: context.theme.primaryColor,
statusBarColor: context.theme.primaryColor,
toolbarColor: context.theme.primaryColor,
toolbarWidgetColor: context.theme.cardColor,
),
iOSUiSettings ??
IOSUiSettings(
resetAspectRatioEnabled: false,
minimumAspectRatio: 1,
aspectRatioPickerButtonHidden: true,
title: 'Crop Your Image',
aspectRatioLockDimensionSwapEnabled: true,
aspectRatioLockEnabled: true,
hidesNavigationBar: true,
),
],
);
if (action != null) action(result!);
return result;
}