铲斗填充颤动

Nik*_*hil 7 dart flutter

我正在绘制应用程序,它也需要桶装.关于如何在Flutter中进行铲斗填充的任何想法?

在此输入图像描述

bof*_*mer 4

您必须编写自己的算法。我认为你可以将这个移植到 dart 上。

您需要的一个基础知识是如何获取图像像素的颜色:

Color getPixelColor(ByteData rgbaImageData, int imageWidth, int imageHeight, int x, int y) {
  assert(x >= 0 && x < imageWidth);
  assert(y >= 0 && y < imageHeight);

  final byteOffset = x * 4 + y * imageWidth * 4;

  final r = rgbaImageData.getUint8(byteOffset);
  final g = rgbaImageData.getUint8(byteOffset + 1);
  final b = rgbaImageData.getUint8(byteOffset + 2);
  final a = rgbaImageData.getUint8(byteOffset + 3);

  return Color.fromARGB(a, r, g, b);
}
Run Code Online (Sandbox Code Playgroud)

你可以这样使用它:

Image image = ...;

final rgbaImageData = await image.toByteData(format: ui.ImageByteFormat.rawRgba);

print(getPixelColor(rgbaImageData, image.width, image.height, x, y));
Run Code Online (Sandbox Code Playgroud)

对其进行操作遵循相同的方案 ( setUint8)。