本文主要是介绍Matrix->Matrix工具类获取Matrix的平移、缩放、错切数值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
// 传入矩阵,获取矩阵数值
class MatrixValues(matrix: Matrix) {val scaleX: Floatval scaleY: Floatval transX: Floatval transY: Floatval skewX : Float val skewY : Floatinit {val fromValues = FloatArray(9)matrix.getValues(fromValues)// 缩放数值scaleX = fromValues[Matrix.MSCALE_X]scaleY = fromValues[Matrix.MSCALE_Y]// 平移数值transX = fromValues[Matrix.MTRANS_X]transY = fromValues[Matrix.MTRANS_Y]// 错切数值skewX = fromValues[Matrix.MSKEW_X]skewY = fromValues[Matrix.MSKEW_Y]}// 比较矩阵的平移、缩放、错切的浮点数是否相等fun isEquals(values: MatrixValues): Boolean {return isFloatEquals(scaleX,values.scaleX)&& isFloatEquals(scaleY,values.scaleY)&& isFloatEquals(transX,values.transX)&& isFloatEquals(transY,values.transY)&& isFloatEquals(skewX,values.skewX)&& isFloatEquals(skewY,values.skewY)}// 浮点数的非精确比较private fun isFloatEquals(a: Float, b: Float): Boolean {return Math.abs(a - b) <= 0.001f}
}
这篇关于Matrix->Matrix工具类获取Matrix的平移、缩放、错切数值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!