Android系統(tǒng)手機(jī)總是有很多不是很完美的時(shí)候,比如逐幀播放圖片的時(shí)候產(chǎn)生的效果,今天武林技術(shù)頻道小編為大家整理了Android中圖片切割成多個(gè)圖片的實(shí)現(xiàn)方法,大家一起來(lái)了解一下吧!
以下是封裝好的兩個(gè)類,可以實(shí)現(xiàn)圖片的切割。僅供參考和學(xué)習(xí)。
一個(gè)是ImagePiece類,此類保存了一個(gè)Bitmap對(duì)象和一個(gè)標(biāo)識(shí)圖片的順序索引的int變量。
?
package arui319.blog.csdn.net;?
import android.graphics.Bitmap;?
public class ImagePiece {?
??? public int index = 0;?
??? public Bitmap bitmap = null;?
}?
一個(gè)是ImageSplitter類,有一個(gè)靜態(tài)方法split,傳入的參數(shù)是要切割的Bitmap對(duì)象,和橫向和豎向的切割片數(shù)。比如傳入的是3、3,則橫豎向都切割成3片,最終會(huì)將整個(gè)圖片切割成3X3=9片。
?
?
?
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對(duì)象的createBitmap方法,不再做具體描述。
上文是武林技術(shù)頻道小編帶給大家的Android中圖片切割成多個(gè)圖片的實(shí)現(xiàn)方法,Android系統(tǒng)現(xiàn)在也是眾多人的選擇,這同時(shí)也受到了大家的一致好評(píng),相信Android系統(tǒng)一定會(huì)得到大家的喜歡的。