flutter - Flutter:仅检测图像中的手势
问题描述
我在使用手势检测器时遇到了一些问题。我有一组要添加 GestureDetector 的图像。但是,我只希望 GestureDetector 在图像的边界内处于活动状态。如下图所示。我有一些随机形状的图像,这些图像在图像后面是透明的。我想做一个手势检测器,只检测这些随机形状的内部。标有绿色的部分。我通过获取胶带的 local.position 然后检查它是否在带有 x^2 + y^2 = ... 的圆圈内来为圆圈执行此操作,但是这不能使用自定义形状来完成。有人可以帮助我解决这个问题吗?如果我只是用手势检测器标记图像,那么是否也可以点击图像的透明部分,这是我不想要的。谢谢
解决方案
这不是什么,你将能够在 Flutter 中本地完成。如果要提取确切的感兴趣区域,则需要进行图像处理以找到正确的形状。实时进行图像处理的最佳选择是 C/C++。Dart 有执行原生 C 的能力,看看这个:https ://dart.dev/guides/libraries/c-interop
您应该尝试提取图像区域的多边形边界框,然后使用多边形路径值使用CustomPainter绘制路径。
如果您不需要精确,请尝试手动通过简单的多边形路径来近似形状。用户可能不会注意到差异。
推荐阅读
- google-maps - 到最近的火车站的距离
- google-maps-api-3 - 谷歌地图方向服务给出错误的结果
- javascript - 刷新页面后如何保持 JS 变量不变?
- swift - Swift:在另一个 switch 语句中重构 switch 语句
- python - 运行时如何更改 LightGBM 参数?
- javascript - 用同一行开头的匹配替换一行上的所有斜杠
- java - spring boot+netflix zuul 应用程序给出 java.lang.ClassNotFoundException: com.netflix.zuul.monitoring.CounterFactory
- css - Streamlabs 自定义 CSS 事件列表 - 为新条目添加延迟
- javascript - 当我添加计时器功能时,它不会画出我的“点”
- javascript - 在 Wtform 中应用 JQuery 在 Flask 中动态执行添加输入字段