读书人

canvas.translate(x,y)懂得

发布时间: 2012-07-15 20:11:38 作者: rapoo

canvas.translate(x,y)理解

translate(float x,float y)函数是将整个canvas水平移动x,垂直移动y距离。可以通过translate函数来实现滚动的功能。


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

?

?

public void translate (float dx, float dy)Since: API Level 1Preconcat the current matrix with the specified translationParametersdxThe distance to translate in XdyThe distance to translate in Y

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

读书人网 >移动开发

热点推荐