生活随笔
收集整理的這篇文章主要介紹了
Android中将一个图片切割成多个图片[转]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有種場景,我們想將一個圖片切割成多個圖片。比如我們在開發一個拼圖的游戲,就首先要對圖片進行切割。
以下是封裝好的兩個類,可以實現圖片的切割。僅供參考和學習。
一個是ImagePiece類,此類保存了一個Bitmap對象和一個標識圖片的順序索引的int變量。
Java代碼??
package?arui319.blog.csdn.net;????????import?android.graphics.Bitmap;????????public?class?ImagePiece?{????????????public?int?index?=?0;????????????????public?Bitmap?bitmap?=?null;????}???? ?
一個是ImageSplitter類,有一個靜態方法split,傳入的參數是要切割的Bitmap對象,和橫向和豎向的切割片數。比如傳入的是3、3,則橫豎向都切割成3片,最終會將整個圖片切割成3X3=9片。
Java代碼??
package?arui319.blog.csdn.net;????????import?java.util.ArrayList;????import?java.util.List;????????import?android.graphics.Bitmap;????????public?class?ImageSplitter?{????????????public?static?List<ImagePiece>?split(Bitmap?bitmap,?int?xPiece,?int?yPiece)?{????????????????List<ImagePiece>?pieces?=?new?ArrayList<ImagePiece>(xPiece?*?yPiece);????????????int?width?=?bitmap.getWidth();????????????int?height?=?bitmap.getHeight();????????????int?pieceWidth?=?width?/?3;????????????int?pieceHeight?=?height?/?3;????????????for?(int?i?=?0;?i?<?yPiece;?i++)?{????????????????for?(int?j?=?0;?j?<?xPiece;?j++)?{????????????????????ImagePiece?piece?=?new?ImagePiece();????????????????????piece.index?=?j?+?i?*?xPiece;????????????????????int?xValue?=?j?*?pieceWidth;????????????????????int?yValue?=?i?*?pieceHeight;????????????????????piece.bitmap?=?Bitmap.createBitmap(bitmap,?xValue,?yValue,????????????????????????????pieceWidth,?pieceHeight);????????????????????pieces.add(piece);????????????????}????????????}????????????????return?pieces;????????}????????}???? ?
這里的切割,主要使用的是Bitmap對象的createBitmap方法,不再做具體描述。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的Android中将一个图片切割成多个图片[转]的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。