Flutter 实现图片的平移、缩放、旋转

按住图片可以拖动图片,双指可以对图片进行旋转、缩放,这样的功能在Flutter 中实现并不难,使用 Transform 变换可以轻松实现。
大家也不用发愁计算规则,小编已将复杂的逻辑进行封装:
今天小编将 matrix_gesture_detector_pro 库发布到了 pub 插件市场,大家可以搜索到,也可以方便的使用,在你FlUttr项目的配置文件中添加依赖如下:

然后在使用到变换的页面导包如下:
比如本案例中实现的是对一个图片进行操作,核心代码如下:
MatrixGestureDetector 就是核心组件,它主要用来实现监测手势,然后计算手势,参数 onMatrixUpdate 是当监测到有手势变化时,实时回调
onMatrixUpdate 回调函数 参数说明如下:
matrix 是综合矩阵 包括平移、缩放、旋转
translationDeltaMatrix 是只包含平衡变换的矩阵
scaleDeltaMatrix 是只包含缩放的矩阵
rotationDeltaMatrix 是只包含旋转的矩阵

关于Matrix4 矩阵的详细变换,在 《Flutter组件与精讲》一书中有详细论述,有兴趣的码农可以看看:

