欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中將一個(gè)圖片切割成多個(gè)圖片的實(shí)現(xiàn)方法

 更新時(shí)間:2013年05月09日 10:26:36   作者:  
有種場(chǎng)景,我們想將一個(gè)圖片切割成多個(gè)圖片。比如我們?cè)陂_(kāi)發(fā)一個(gè)拼圖的游戲,就首先要對(duì)圖片進(jìn)行切割

以下是封裝好的兩個(gè)類(lèi),可以實(shí)現(xiàn)圖片的切割。僅供參考和學(xué)習(xí)。

一個(gè)是ImagePiece類(lèi),此類(lèi)保存了一個(gè)Bitmap對(duì)象和一個(gè)標(biāo)識(shí)圖片的順序索引的int變量。

復(fù)制代碼 代碼如下:

package arui319.blog.csdn.net; 

import android.graphics.Bitmap; 

public class ImagePiece { 

    public int index = 0; 

    public Bitmap bitmap = null; 


一個(gè)是ImageSplitter類(lèi),有一個(gè)靜態(tài)方法split,傳入的參數(shù)是要切割的Bitmap對(duì)象,和橫向和豎向的切割片數(shù)。比如傳入的是3、3,則橫豎向都切割成3片,最終會(huì)將整個(gè)圖片切割成3X3=9片。
復(fù)制代碼 代碼如下:

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方法,不再做具體描述。

相關(guān)文章

最新評(píng)論