如何将彩色图像转换为黑白图像

时间:2021-02-17 09:56:09

标签: flutter dart

我正在尝试使用 ImagePicker

从相机中获取图像
    final image = await ImagePicker().getImage(source: ImageSource.camera, maxHeight: 200, maxWidth: 200,);

但是在 UI 中显示它时,我们可以使用 colorBlendMode & color 属性更改它。

 Image.memory(uint8listImage, colorBlendMode: BlendMode.saturation, color: Colors.grey),

但我希望单击图像并将图像以黑白颜色保存到数据库中。但是如何?

1 个答案:

答案 0 :(得分:0)

Image grayscale(Image src) {
  var p = src.getBytes();
  for (var i = 0, len = p.length; i < len; i += 4) {
    var l = getLuminanceRgb(p[i], p[i + 1], p[i + 2]);
    p[i] = l;
    p[i + 1] = l;
    p[i + 2] = l;
  }
  return src;
}