flutter - 如何在 Flutter 中的图像上动态绘制矩形?
问题描述
我想让用户以某种方式在他收到的图像上绘制矩形并获取绘制矩形的坐标。我正在考虑的一种方法是让他在图像上点击四次以从这四个坐标中绘制一个矩形。目前我无法获得确切的本地水龙头位置.. 它并不总是准确的。对我的要求有什么建议吗?这是我当前的代码:
double posx = 100.0;
double posy = 100.0;
void onTapDown(BuildContext context, TapDownDetails details) {
print('${details.globalPosition}');
final RenderBox box = context.findRenderObject();
final Offset localOffset = box.globalToLocal(details.globalPosition);
setState(() {
posx = localOffset.dx;
posy = localOffset.dy;
});
}
Offset _tapPosition;
void _handleTapDown(TapDownDetails details) {
final RenderBox referenceBox = context.findRenderObject();
setState(() {
_tapPosition = referenceBox.globalToLocal(details.globalPosition);
posx = _tapPosition.dx;
posy = _tapPosition.dy;
});
}
@override
Widget build(BuildContext context) {
double height = MediaQuery.of(context).size.height;
double width = MediaQuery.of(context).size.width;
return
GestureDetector(
onTapDown: _handleTapDown,
onTap: (){
},
child:new Stack(fit: StackFit.expand, children: <Widget>[
// Hack to expand stack to fill all the space. There must be a better
// way to do it.
new Container(
color:Colors.white,
child: Image.asset("lib/assets/rectangles.png"),
),
// new Container(height:200,width: 100,color: Colors.white),
new Positioned(
child: new Text('.'),
left: posx,
top: posy,
)
]),
);
}
解决方案
推荐阅读
- java - Completablefuture 在异常时未完成
- rest - 使用 Evo File API 上传文件时出现问题
- python - 使用 pandas groupby 查找列的唯一组合并另存为 df
- azure - Terraform Azure Databricks 提供程序错误
- next.js - next-redux-wrapper(6.0.2) 中的 getServersideProps 不起作用,但 getInitialProps 没问题
- python - VS Code“查找所有引用”不能忽略排除的文件
- javascript - 如何对一组对象进行分组并将其映射到不同的结构?
- r - R 错误中的词云无法放在页面上。它不会被绘制
- subquery - Kusama & Darwinia Network 的 Sbquery 网络专家
- java - com.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法通过使用...(SSL)加密建立到 SQL Server 的安全连接