作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
AffineTransform.getScaleX()
及其系列是否有合法用例?
它返回 m00 或变换矩阵的左上角元素,这对于确定矩阵的缩放比例毫无用处。例如,考虑一个普通的 90 度旋转矩阵,getScaleX()
和 getScaleY()
都返回 0。
我永远不会使用这个调用,因为它会让代码阅读者感到困惑,他们可能不熟悉它不会以有意义的方式返回缩放这一事实,比 getMatrix(m)
要好得多然后访问 m[0],因为大多数可能阅读使用转换的代码的人都熟悉矩阵数学。
这肯定有一个用例,但我就是不明白。
最佳答案
如您所写,x 比例因子的概念在一般情况下毫无意义。它只与缩放矩阵的特殊情况有关。 IE。 getType
返回 TYPE_GENERAL_SCALE
或 TYPE_UNIFORM_SCALE
的那些。 (也可以添加翻译)在其他情况下,getScaleX
是“正确的”,因为它按照文档所说的进行操作,但就其名称而言无用且具有误导性。类似的推理适用于 getShearX
,它仅在剪切矩阵的上下文中有意义。 getTranslateX
有点不同,因为有人可能会争辩说这是原点被翻译到的地方,而不管矩阵暗示的所有其他转换。
关于java - 什么时候使用 AffineTransform getScaleX()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23053935/
AffineTransform.getScaleX() 及其系列是否有合法用例? 它返回 m00 或变换矩阵的左上角元素,这对于确定矩阵的缩放比例毫无用处。例如,考虑一个普通的 90 度旋转矩阵,ge
我是一名优秀的程序员,十分优秀!