android - Android Matrix preConcat 还是 postConcat?
问题描述
我正在使用 kotlin 进行 Android 开发。
我在屏幕上有一个圆形和一个矩形。
- 圆有自己的矩阵
- 正方形是圆的计算边界并映射到屏幕大小,所以它没有矩阵
现在,当我在屏幕上拖动时,我想将它们倾斜在一起。我想我应该将偏斜矩阵发布到圆圈中。这是代码:
_baseX = _bounds.centerX()
_baseY = _bounds.top
_square._matrix.setSkew((event.x - _baseX) / _bounds.height(), 0f, _baseX, _baseY)
val m = Matrix(_originalMatrix)
m.postConcat(_square._matrix)
_circle._matrix = m
_view.postInvalidate()
_originalMatrix 是为 circle 复制的,不会改变。
然而,圆圈向另一个方向倾斜:
我也试过preConcat,但结果是一样的:
我知道偏斜矩阵是正确的,因为我看到正方形正确偏斜。这里的圆圈应该用什么?非常感谢!
解决方案
推荐阅读
- width - 烛台 ApexChart 中条形不可控制的宽度/缩进
- mongodb - mongoDB,猫鼬,无法连接到数据库
- typescript - 返回自身的函数的返回类型是什么?
- python - Python - 使用函数和创建数据框
- verify - 使用 NCrunch 时,Verify.NUnit 报告的差异如何被批准?
- bash - Bash 解析 ls 使用 printf 和 nul 分隔符的经验教训
- django - AssertionError:应为“日期”,但得到了“日期时间”。拒绝强制,因为这可能意味着丢失时区信息
- python - 根据 Python pandas 中的系列动态填充缺失的年份和星期值
- python - 为什么在多个 if 语句中使用 elif 和 else?
- git - 临时使用没有服务器的 git