cropOnly static method
Future<ImagePickerData>
cropOnly(
- ImagePickerData old, {
- required int maxWidth,
- required int maxHeight,
- CropAspectRatio? aspectRatio,
- List<
CropAspectRatioPreset> aspectRatioPresets = const [CropAspectRatioPreset.original, CropAspectRatioPreset.square, CropAspectRatioPreset.ratio3x2, CropAspectRatioPreset.ratio4x3, CropAspectRatioPreset.ratio16x9], - CropStyle cropStyle = CropStyle.rectangle,
- ImageCompressFormat compressFormat = ImageCompressFormat.jpg,
- int compressQuality = 90,
- AndroidUiSettings? androidUiSettings,
- IOSUiSettings? iosUiSettings,
Implementation
static Future<ImagePickerData> cropOnly(
ImagePickerData old, {
required int maxWidth,
required int maxHeight,
CropAspectRatio? aspectRatio,
List<CropAspectRatioPreset> aspectRatioPresets = const [
CropAspectRatioPreset.original,
CropAspectRatioPreset.square,
CropAspectRatioPreset.ratio3x2,
CropAspectRatioPreset.ratio4x3,
CropAspectRatioPreset.ratio16x9
],
CropStyle cropStyle = CropStyle.rectangle,
ImageCompressFormat compressFormat = ImageCompressFormat.jpg,
int compressQuality = 90,
AndroidUiSettings? androidUiSettings,
IOSUiSettings? iosUiSettings,
}) async {
String sourcePath = '';
if (old.orginal != null &&
old.orginal.path != null &&
old.orginal.path.isNotEmpty)
sourcePath = old.orginal.path;
else if (old.orginal != null && old.path != null && old.path.isNotEmpty)
sourcePath = old.path;
final file = await ImageCropper.cropImage(
sourcePath: sourcePath,
maxHeight: maxHeight,
maxWidth: maxWidth,
androidUiSettings: androidUiSettings,
aspectRatio: aspectRatio,
aspectRatioPresets: aspectRatioPresets,
compressFormat: compressFormat,
compressQuality: compressQuality,
cropStyle: cropStyle,
iosUiSettings: iosUiSettings,
);
if (file?.existsSync() ?? false) {
old._crop(file!);
} else {
final dirti = await getTemporaryDirectory();
final fileName = basenameWithoutExtension(old.path);
final targetdir = '${dirti.path}/$fileName${old.id}.jpg';
final file2 = await FlutterImageCompress.compressAndGetFile(
old.path, targetdir,
format: CompressFormat.jpeg,
quality: compressQuality,
minHeight: maxHeight,
minWidth: maxWidth);
if (file2?.existsSync() ?? false) old._crop(file2!);
}
return old;
}