代码改变世界

对canvas的translate()方法的理解

2016-09-20 16:36  一切尽在掌握  阅读(3232)  评论(0编辑  收藏  举报

转自:http://blog.csdn.net/fulianwu/article/details/7001618

 

  1. canvas.save();//锁画布(为了保存之前的画布状态)  
  2. canvas.translate(1010);//把当前画布的原点移到(10,10),后面的操作都以(10,10)作为参照点,默认原点为(0,0)  
  3. drawScene(canvas);  
  4. canvas.restore();//把当前画布返回(调整)到上一个save()状态之前  
  5.   
  6. canvas.save();//锁画布(为了保存之前的画布状态)  
  7. canvas.translate(16010);//把当前画布的原点移到(160,10),后面的操作都以(160,10)作为参照点,  
  8. canvas.clipRect(10109090);//这里的真实坐标为左上(170,20)、右下(250,100)  
  9. canvas.clipRect(30307070, Region.Op.DIFFERENCE);  
  10. drawScene(canvas);  
  11. canvas.restore(); 
  1. canvas.save();//锁画布(为了保存之前的画布状态)  
  2. canvas.translate(1010);//把当前画布的原点移到(10,10),后面的操作都以(10,10)作为参照点,默认原点为(0,0)  
  3. drawScene(canvas);  
  4. canvas.restore();//把当前画布返回(调整)到上一个save()状态之前  
  5.   
  6. canvas.save();//锁画布(为了保存之前的画布状态)  
  7. canvas.translate(16010);//把当前画布的原点移到(160,10),后面的操作都以(160,10)作为参照点,  
  8. canvas.clipRect(10109090);//这里的真实坐标为左上(170,170)、右下(250,250)  
  9. canvas.clipRect(30307070, Region.Op.DIFFERENCE);  
  10. drawScene(canvas);  
  11. canvas.restore();