canvas是画布的意思,有一点必须记清楚不管我们怎么移动和旋转画布我们所绘制的内容,一定是在画布上的,提到canvas我们必须首先要讲解它的一难以理解的方法(对我来说)rotate(degree)方法这个方法是花费我最长时间理解的方法,网上有好多说的都不对,这个方法是旋转,大家一定要记住它旋转的是坐标系,并不是画布我们可以通过一个小的例子进行验证
如下部分代码
canvas.drawRect(100, 100, 150, 150, paint1); // paint1是红色的画笔
canvas.rotate(30);
canvas.drawRect(200, 200, 250, 250, paint2); // paint2是黑色的画笔
效果图:
分析:从代码中我们可以看到我们先画的红色的正方形,然后旋转30度然后绘制黄色的正方形。可能大家有所迷惑为什么红色正方形没有旋转呢,那是因为我们进行旋转操作时旋转的是坐标系
画图的canvas和显示没关系,而这个canvas又只影响你画图,意思就是,画图,实际上是画在这个canvas定义的范围和规则下,但是其实图是画在显示在屏幕上的。我们进行的旋转只是旋转了坐标系而对之前所绘制的图形是没有影响的,影响的是旋转后我们所绘制的图形