我在pub.dev上使用多个文件选择器包,链接在https://pub.dev/packages/multi_image_picker下面,与Yalantis https://pub.dev/packages/image_cropper的图像裁剪程序包一起使用,让我的用户选择多个图像,然后随意裁剪它们。
我正在使用此代码将我的资产转换为文件,并将其提供给裁剪器。而且它是有效的。
final temp = await Directory.systemTemp.createTemp();
final data = await finalList[index].getByteData();
File failo = await File('${temp.path}/img').writeAsBytes(
data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes));
print("The path is ${temp.path}");
File croppedFailo = await ImageCropper.cropImage(
sourcePath: failo.path,
androidUiSettings: AndroidUiSettings(toolbarTitle: "My App"),
);棘手的一点是将其转换回资产,以便我可以用这个新裁剪的资产替换旧的uncropped资产。我阅读了该包的资产文档,并尝试了此操作,但它使我的应用程序崩溃
Asset croppedPic = new Asset(
croppedFailo.path,
DateTime.now().millisecondsSinceEpoch.toString(),
300,
300,
);
finalList.replaceRange(index, index + 1, [croppedPic]);编辑:当我说“资产”时,我指的不是我手动添加到应用程序的assets/images文件夹中的图片。多图像拾取器插件有一个名为asset的文件类型,它在其中返回图像。这就是我想要将我的文件转换回的类型。
发布于 2020-10-04 16:30:23
不要紧。我认为这样做太复杂了。因此,我只是重新格式化了我的整个代码,将图像作为文件而不是资产来处理。而且,它实际上让我的生活变得更简单,因为文件给了你更多的多功能性,比资产带来的问题更少。
https://stackoverflow.com/questions/64180650
复制相似问题