Android图片切割工具类 Android开发之图片切割工具类定义与用法示例
LovooGod 人气:0想了解Android开发之图片切割工具类定义与用法示例的相关内容吗,LovooGod在本文为您仔细讲解Android图片切割工具类的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Android,图片,切割,工具类,下面大家一起来学习吧。
本文实例讲述了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.softyun.net/games/pintu
希望本文所述对大家Android程序设计有所帮助。
加载全部内容