加载并减少抖动网络中的图像

时间:2020-07-04 13:36:41

标签: flutter image-processing base64 flutter-web imagepicker

我正在开发一个flutter项目,在其中我必须对应用程序正在运行的设备拍照,减小其尺寸,然后将其移至base64以便将其存储在数据库中。

直到现在,我已经能够为iOS和Android设备开发此功能,其中我使用image_picker插件拍摄设备的图像,并使用flutter_native_image插件减小图像的尺寸通过本地手段。

图像捕获:

  var image = await ImagePicker().getImage(source: ImageSource.gallery);
  if (image != null) {
    _base64Image = await ImageReducer().getBase64Image(File(image.path));
    setState(() {
      _image = File(image.path);
    });
  }

图像缩小并过渡到base64:

Future getBase64Image(Io.File image) async {
  Io.File imageResized = await FlutterNativeImage.compressImage(image.path,
    quality: 100, targetWidth: 120, targetHeight: 120);
  List<int> imageBytes = imageResized.readAsBytesSync();

  return base64Encode(imageBytes);
}

对于网络,我尝试使用image_picker_web插件,但是无法重现相同的过程。有人可以帮我吗?

谢谢。

0 个答案:

没有答案