android圖像繪制(七)ClipRect局部繪圖/切割原圖繪制總結(jié)
雜語:看了很多程序猿都有寫博客的習(xí)慣,看來我也得練練,不管寫的好不好了,學(xué)到點(diǎn)什么體會(huì)就寫寫吧。
內(nèi)容解說:這幾天開始學(xué)游戲地圖制作,今天小小的總結(jié)一下Canvas的clipRect()接口的使用。
1)選取要在畫布上繪制(刷新)的區(qū)域,如圖以(x, y)為起點(diǎn)坐標(biāo)、寬w、高h(yuǎn)的區(qū)域

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

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

4)最后效果圖

代碼解說:
canvas.save();
canvas.clipRect(x1, y1, x1 + w, y1 + h);
canvas.drawBitmap(bitmap, x2, y2, paint);
canvas.restore();
1、save()先把畫布的數(shù)據(jù)保存了(如matrix等),最后繪制完后再restore()則把中間對(duì)畫布坐標(biāo)等操作forget掉;
2、clipRect()截取畫布中的一個(gè)區(qū)域;
3、drawBitmap()繪制圖片到(x2, y2)上,則綠色部分剛好繪制到(x1, y1)上,而沒有被clip的區(qū)域則不會(huì)繪圖;
4、restore()最后要將畫布回復(fù)原來的數(shù)據(jù)(記住save()跟restore()要配對(duì)使用)。
5、小小的代碼,廢話挺多的
相關(guān)文章
Android實(shí)現(xiàn)水波紋效果實(shí)例代碼
大家好,本篇文章主要講的是Android實(shí)現(xiàn)水波紋效果實(shí)例代碼,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-02-02
Android 3D滑動(dòng)菜單完全解析 Android實(shí)現(xiàn)推拉門式的立體特效
這篇文章主要為大家詳細(xì)介紹了Android 3D滑動(dòng)菜單,Android實(shí)現(xiàn)推拉門式的立體特效,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
Android編程開發(fā)之EditText中不輸入特定字符會(huì)顯示相關(guān)提示信息的方法
這篇文章主要介紹了Android編程開發(fā)之EditText中不輸入特定字符會(huì)顯示相關(guān)提示信息的方法,涉及Android針對(duì)EditText的布局操作及內(nèi)容判定相關(guān)技巧,需要的朋友可以參考下2015-12-12
Android中怎樣避免創(chuàng)建不必要的對(duì)象
對(duì)象的創(chuàng)建從來都不是免費(fèi)的. 一個(gè)使用線程分配池的通用垃圾回收器可以讓臨時(shí)對(duì)象的分配變得廉價(jià)一些, 但是分配內(nèi)存總是比不分配要昂貴得多.所以避免創(chuàng)建不必要的對(duì)象是很重要的一方面。2016-08-08
Android 異步任務(wù) 設(shè)置 超時(shí)使用handler更新通知功能
這篇文章主要介紹了Android 異步任務(wù) 設(shè)置 超時(shí)使用handler更新通知,文中給大家提到了使用AsyncTask設(shè)置請(qǐng)求超時(shí)的注意事項(xiàng) ,需要的朋友可以參考下2017-12-12
解決Kotlin 類在實(shí)現(xiàn)多個(gè)接口,覆寫多個(gè)接口中相同方法沖突的問題
這篇文章主要介紹了解決Kotlin 類在實(shí)現(xiàn)多個(gè)接口,覆寫多個(gè)接口中相同方法沖突的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03

