AffineTransform.getScaleX()
和家人是否有合法用例?
它返回变换矩阵的m00或左上角元素,这对于确定矩阵的缩放非常无用。例如,考虑一个普通的90度旋转矩阵,getScaleX()
和getScaleY()
都返回0。
我永远不会使用这个调用,因为它让代码阅读器感到困惑,因为代码阅读器可能不熟悉它不会以有意义的方式返回缩放的事实,更好的是getMatrix(m)
然后访问m [ 0],因为大多数人可能阅读使用转换的代码都熟悉矩阵数学。
必须有一个用例,但我不明白。
答案 0 :(得分:1)
正如您所写的那样,x缩放因子的概念在一般情况下毫无意义。它仅与缩放矩阵的特殊情况相关。即那些getType
返回TYPE_GENERAL_SCALE
或TYPE_UNIFORM_SCALE
的人。 (也可以添加翻译)在其他情况下,getScaleX
是“正确的”,因为它完成了文档所说的内容,但对其名称没有用处和误导性。类比推理适用于getShearX
,它仅在剪切矩阵的上下文中产生感觉。 getTranslateX
有点不同,因为无论矩阵意味着什么其他变换,都可以说这是原点被转换的地方。