j2me移動到android時,你可能須要用到clipRect這個方法,咱們用它來截取必定區域,讓來看看j2me和android有什麼不一樣吧java
Android code:android
- canvas.save();
- canvas.clipRect(x,y, x+width, y+height)
- canvas.restore();
canvas.save();//保存當前狀態
canvas.clipRect(x,y, x+width, y+height)
cavnas.resave();//釋放當前狀態
J2ME code:canvas
- 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);
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有區別!spa
j2me需用setClip釋放當前狀態,而android沒必要!rest