颤振:如何获得图像像素的颜色

时间:2019-06-09 13:02:59

标签: flutter dart colors flutter-layout

我在GestureDetector中有一个Image.asset。

使用onTapDown可以获得触摸的像素的坐标。

现在有了这个坐标,我如何才能找到触摸像素的颜色?

谢谢。

@override
Widget build(BuildContext context) {
    return Scaffold(
        body: Stack(children: <Widget>[
            Image.asset('assets/image/image_1.png',
                    filterQuality: FilterQuality.high),
            GestureDetector(
                child: Image.asset('assets/image/image_1_color.png',
                        filterQuality: FilterQuality.high,
                color: Colors.transparent,),
                onTapDown: (TapDownDetails details) => _showDialog(context, details),
            ),
        ]),
    );
}

void _showDialog(BuildContext context, TapDownDetails details) {
    var x = details.globalPosition.dx;
    var y = details.globalPosition.dy;

    //get color by coordinates
}

1 个答案:

答案 0 :(得分:0)

这是我提供给其他用户的解决方案:

https://stackoverflow.com/a/56488053/8960871

如果您未应用fitbox,或使用自定义的blendmode /滤镜,请选择基本选项,以避免创建颤动“画布”的缓冲图像,以保持bette的性能。