You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Flutter中如何将Matrix4转换为Float64List用于Path.transform()

在Flutter中将Matrix4转换为Float64List用于Path.transform()

你不需要手动做复杂的转换,Matrix4类自带的storage属性直接就能返回符合要求的Float64List,直接传给Path.transform()即可。

示例代码

// 初始化一个带变换的Matrix4
Matrix4 transformMatrix = Matrix4.identity()
  ..translate(30.0, 40.0) // 平移
  ..scale(1.5) // 缩放
  ..rotateY(0.3); // 旋转

// 获取Matrix4对应的Float64List
Float64List matrixData = transformMatrix.storage;

// 对Path应用变换
Path originalPath = Path()
  ..moveTo(0, 0)
  ..lineTo(100, 0)
  ..lineTo(100, 100)
  ..close();

Path transformedPath = originalPath.transform(matrixData);

说明

Matrix4.storage返回的是矩阵内部以列优先格式存储的16个浮点值的列表,这完全匹配Path.transform()方法对参数的要求,不需要额外处理。直接使用这个属性既高效又能避免手动构造列表可能出现的错误。

内容的提问来源于stack exchange,提问作者Kdigital

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 11:35:24