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);
}