您的位置:首页 > 其它

canvas.translate(x,y)一点新的认识

2012-12-18 22:33 190 查看
之前对于canvas.translate(x,y)的理解有的错误,之前一直以原点(0,0)为基准点,作用就是移动原点,默认的原点(0,0)是在屏幕左上角的,你可以通过translate(x,y)把点(x,y)作为原点,就一直以为这个(x,y)就是新的坐标原点。但看一下API就会知道,这种理解是不对的,不过API上面讲解的也不太清楚:

[java] view
plaincopy

public void translate (float dx, float dy)



Since: API Level 1

Preconcat the current matrix with the specified translation

Parameters

dx The distance to translate in X

dy The distance to translate in Y

其实是原来的原点分别在x轴和y轴偏移多远的距离,然后以偏移后的位置作为坐标原点。也就是说原来在(100,100),然后translate(1,1)新的坐标原点在(101,101)而不是(1,1)

问:translate();restore();translate();经过这三个函数,原点是怎么变化的?

答:如果在描绘之前调用save了,restore就会返回原点,否则会继续那个translate后的点。

转载自:/article/2705482.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: