有没有办法获取 Canvas 的当前转换矩阵?有一个context.setTransform()函数,但据我所知,似乎没有等效的getTransform()。
更具体地说,我想获取矩阵的当前比例尺和平移元素。 Google对此毫无帮助。
最佳答案
不,根本就没有。 :(
相反,大多数canavs库(例如cake.js)都实现了自己的矩阵类,以跟踪当前的转换矩阵。
cake.js的创建者认为,无法获得当前矩阵的方法很荒谬,不足以保证bug report about it.不幸的是,这可以追溯到2007年,并且还没有努力在规范中包含getCurrentTransform。
编辑:我创建了一个简单的Transformation类,可以轻松创建自己的getCanvas()
或并排跟踪Canvas的矩阵。 Here it is.希望对您有所帮助!
编辑2012年6月:新规范确实包含一种获取当前转换矩阵的方法! context.currentTransform
可用于获取或设置当前的转换矩阵。不幸的是,尽管Firefox的上下文中确实具有特定于供应商的mozCurrentTransform
属性,但还没有浏览器实现它。所以您暂时不能使用它,但是它在规格中,所以很快!
关于javascript - HTML5 Canvas获取转换矩阵?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7395813/