0
点赞
收藏
分享

微信扫一扫

Android 图片切割工具类


图片切割工具类

public class ImageSplitter  
{
/**
* 将图片切成 , piece *piece
*
* @param bitmap
* @param piece
* @return
*/
public static List<ImagePiece> split(Bitmap bitmap, int piece)
{

List<ImagePiece> pieces = new ArrayList<ImagePiece>(piece * piece);

int width = bitmap.getWidth();
int height = bitmap.getHeight();

Log.e("TAG", "bitmap Width = " + width + " , height = " + height);
int pieceWidth = Math.min(width, height) / piece;

for (int i = 0; i < piece; i++)
{
for (int j = 0; j < piece; j++)
{
ImagePiece imagePiece = new ImagePiece();
imagePiece.index = j + i * piece;
int xValue = j * pieceWidth;
int yValue = i * pieceWidth;

imagePiece.bitmap = Bitmap.createBitmap(bitmap, xValue, yValue,
pieceWidth, pieceWidth);
pieces.add(imagePiece);
}
}
return pieces;
}
}

图片切割实体类:

public class ImagePiece  
{
public int index = 0;
public Bitmap bitmap = null;
}

使用方法:

private void initBitmap()  
{
if (mBitmap == null)
mBitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.aa);

List<ImagePiece> mItemBitmaps = ImageSplitter.split(mBitmap, mColumn);

Collections.sort(mItemBitmaps, new Comparator<ImagePiece>()
{
@Override
public int compare(ImagePiece lhs, ImagePiece rhs)
{
return Math.random() > 0.5 ? 1 : -1;
}
});
}


举报

相关推荐

0 条评论