雜語:看了很多程序猿都有寫博客的習慣,看來我也得練練,不管寫的好不好了,學到點什么體會就寫寫吧。
內容解說:這幾天開始學游戲地圖制作,今天小小的總結一下Canvas的clipRect()接口的使用。
1)選取要在畫布上繪制(刷新)的區域,如圖以(x, y)為起點坐標、寬w、高h的區域

2)選擇要繪制的圖片,不一定是剛好寬高為(w,h),大圖就需要切割了(本例子繪制綠色區域)

3)將圖片繪制到畫布上,使得綠色區域與白色方塊重合

4)最后效果圖

代碼解說:
canvas.save();
canvas.clipRect(x1, y1, x1 + w, y1 + h);
canvas.drawBitmap(bitmap, x2, y2, paint);
canvas.restore();
1、save()先把畫布的數據保存了(如matrix等),最后繪制完后再restore()則把中間對畫布坐標等操作forget掉;
2、clipRect()截取畫布中的一個區域;
3、drawBitmap()繪制圖片到(x2, y2)上,則綠色部分剛好繪制到(x1, y1)上,而沒有被clip的區域則不會繪圖;
4、restore()最后要將畫布回復原來的數據(記住save()跟restore()要配對使用)。
5、小小的代碼,廢話挺多的