edit static method

Future<String?> edit({
  1. required BuildContext context,
  2. required String imagePath,
  3. ImageEditorConfig config = const ImageEditorConfig(enableText: false, cropOptions: CropOptionConfig(enableFree: true, enable16By9: true, enable5By4: true, enable1By1: true), rotateOptions: RotateOptionConfig(enableFree: true, enableFixed: true), topToolbar: TopToolbarConfig(titleText: 'Edit Image', confirmText: 'Done'), compression: ImageCompressionConfig(enabled: true, scale: 1.0)),
})

Implementation

static Future<String?> edit({
  required BuildContext context,
  required String imagePath,
  ImageEditorConfig config = const ImageEditorConfig(
    enableText: false,
    cropOptions: CropOptionConfig(
      enableFree: true,
      enable16By9: true,
      enable5By4: true,
      enable1By1: true,
    ),
    rotateOptions: RotateOptionConfig(
      enableFree: true,
      enableFixed: true,
    ),
    topToolbar: TopToolbarConfig(
      titleText: 'Edit Image',
      confirmText: 'Done',
    ),
    compression: ImageCompressionConfig(
      enabled: true,
      scale: 1.0,
    ),
  ),
}) async {
  final original = await loadImageFromFile(imagePath);
  if (!context.mounted) return null;

  final result = await Navigator.of(context).push<ui.Image?>(
    MaterialPageRoute(
      builder: (_) => EditorScreen(image: original, config: config),
    ),
  );

  original.dispose();
  if (!context.mounted || result == null) return null;

  final path = await saveImageToTempFile(
    result,
    compression: config.compression,
  );
  result.dispose();
  return path;
}