您必须编写自己的算法。我认为你可以将这个移植到 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)。
| 归档时间: |
|
| 查看次数: |
260 次 |
| 最近记录: |