本文实例讲述了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;
}
});
}
PS:这里再为大家推荐一款js实现的拼图游戏供大家参考:
在线美女拼图游戏: http://tools.zalou.cn/games/pintu
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android图形与图像处理技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。