Флаттер: как получить цвет пикселя изображения - PullRequest
0 голосов
/ 09 июня 2019

У меня есть Image.asset в GestureDetector.

С помощью onTapDown я получаю координаты пикселя, которого коснулись.

Теперь с этими координатами, как я могу найти цвет затронутого пикселя?

Thx.

@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 голосов
/ 09 июня 2019

Вот решение, которое я предоставил другому пользователю:

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

Если вы не применили fitbox или не используете настраиваемый режим смешивания / фильтр, перейдите к базовому параметру, чтобы не создавать буферное изображение флаттера «холст», чтобы сохранить производительность бетти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...