我正在嘗試使用 extended_image_provider 包來編輯照片。當我想將 rawImageData 轉換為 Uin8list 時,程式會中斷。我真的不明白為什么..
這是函式 => 它在 print('out') 之前中斷
Future<void> crop([bool test = true]) async {
final ExtendedImageEditorState state = editorKey.currentState!;
final Rect? rect = state.getCropRect();
final EditActionDetails action = state.editAction!;
final double radian = action.rotateAngle;
final bool flipHorizontal = action.flipY;
final bool flipVertical = action.flipX;
print("in--");
final Uint8List img = state.rawImageData;
print("out--");
final ImageEditorOption option = ImageEditorOption();
option.addOption(ClipOption.fromRect(rect!));
option.addOption(FlipOption(horizontal: flipHorizontal, vertical: flipVertical));
if (action.hasRotateAngle) {
option.addOption(RotateOption(radian.toInt()));
}
option.addOption(ColorOption.saturation(sat));
option.addOption(ColorOption.brightness(bright 1));
option.addOption(ColorOption.contrast(con));
option.outputFormat = const OutputFormat.jpeg(100);
print(const JsonEncoder.withIndent(' ').convert(option.toJson()));
final DateTime start = DateTime.now();
final Uint8List? result = await ImageEditor.editImage(
image: img,
imageEditorOption: option,
);
日志中的錯誤:
> Unhandled Exception:
> 'package:extended_image_library/src/extended_image_provider.dart':
> Failed assertion: line 34 pos 12: 'cacheRawData': you should set
> [ExtendedImageProvider.cacheRawData] to true, if you want to get
> rawImageData from provider.
uj5u.com熱心網友回復:
正如它在錯誤訊息中所說,只需添加cacheRawData = true到ExtendedImageProvider.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/462351.html
