cropImage method
Future<File?>
cropImage({
- required File imageFile,
- required BuildContext context,
- AndroidUiSettings? androidUiSettings,
- IOSUiSettings? iosUiSettings,
Crops an image from the provided imageFile using the ImageCropper package.
Returns a File object of the cropped image, or null if cropping was cancelled.
Allows customization of UI settings for both Android and iOS platforms through
androidUiSettings and iosUiSettings.
Primary theme color is used passed through required context.
Example usage:
File? croppedImage = await RhUtils.instance.cropImage(
imageFile: File('path/to/image.jpg'),
context: context,
);
Implementation
Future<File?> cropImage({
required File imageFile,
required BuildContext context,
AndroidUiSettings? androidUiSettings,
IOSUiSettings? iosUiSettings,
}) async {
CroppedFile? cropped = await ImageCropper().cropImage(
sourcePath: imageFile.path,
uiSettings: [
androidUiSettings ??
AndroidUiSettings(
toolbarTitle: 'Crop Photo',
toolbarColor: Theme.of(context).colorScheme.surface,
toolbarWidgetColor:
(Theme.of(context).brightness == Brightness.light)
? Theme.of(context).colorScheme.primary
: Theme.of(context).colorScheme.secondary,
activeControlsWidgetColor:
(Theme.of(context).brightness == Brightness.light)
? Theme.of(context).colorScheme.primary
: Theme.of(context).colorScheme.secondary,
),
iosUiSettings ?? IOSUiSettings(),
],
);
if (cropped == null) return null;
return File(cropped.path);
}