android与j2me移植之clipRect

j2me移动到android时,你可能需要用到clipRect这个方法,我们用它来截取一定区域,让来看看j2me和android有什么不同吧

 

Android code:

  1. canvas.save();//保存当前状态   
  2. canvas.clipRect(x,y, x+width, y+height)   
  3. canvas.restore();//释放当前状态  
canvas.save();//保存当前状态
canvas.clipRect(x,y, x+width, y+height)
cavnas.resave();//释放当前状态

 

J2ME code:

  1. int clipX = g.getClipX();   
  2. int clipY = g.getClipY();   
  3. int clipWidth = g.getClipWidth();   
  4. int clipHeight = g.getClipHeight();   
  5. g.clipRect(x, y, width, height);   
  6. g.setClip(clipX, clipY, clipWidth, clipHeight);//释放当前状态  
int clipX = g.getClipX();
int clipY = g.getClipY();
int clipWidth = g.getClipWidth();
int clipHeight = g.getClipHeight();
g.clipRect(x, y, width, height);
g.setClip(clipX, clipY, clipWidth, clipHeight);//释放当前状态

 

比较两段代码,Android比较简洁,要注意的是canvas.clipRect(left, top, right, bottom),它们的坐标为left, top, right, bottom,所以要加上x,y,这一点在刚开始开发j2me转android时会发现有些区别,也容易忽略,像fillRect,drawRect等方法也和j2me有区别!

 

j2me需用setClip释放当前状态,而android不必!

你可能感兴趣的:(android,j2me,移植)