Android开发之图片切割工具类定义与用法示例
程序员文章站
2023-08-12 13:30:07
本文实例讲述了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实现的拼图游戏供大家参考:
在线美女拼图游戏:
更多关于android相关内容感兴趣的读者可查看本站专题:《android图形与图像处理技巧总结》、《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结》
希望本文所述对大家android程序设计有所帮助。