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.jb51.net/games/pintu

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android图形与图像处理技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

时间: 2024-08-20 20:53:05

Android开发之图片切割工具类定义与用法示例的相关文章

Android开发之多媒体文件获取工具类实例【音频,视频,图片等】

本文实例讲述了Android开发之多媒体文件获取工具类.分享给大家供大家参考,具体如下: package com.android.ocr.util; import java.io.File; import java.util.ArrayList; import java.util.List; import android.content.Context; import android.database.Cursor; import android.graphics.Bitmap; import

Android开发之拼音转换工具类PinyinUtils示例

本文实例讲述了Android开发之拼音转换工具类PinyinUtils.分享给大家供大家参考,具体如下: 1.首先下载pinyin4j-2.5.0.jar,拷贝到工程的lib目录里 官网下载地址:https://sourceforge.net/projects/pinyin4j/ 或者点击此处本站下载. 2.创建工具类:PinyinUtils /** * 拼音转换工具 * * @描述 TODO * @项目名称 App_imooc * @包名 com.android.imooc.quickInde

Android开发实现的几何图形工具类GeometryUtil完整实例

本文实例讲述了Android开发实现的几何图形工具类GeometryUtil.分享给大家供大家参考,具体如下: package com.android.imooc.goo; import android.graphics.PointF; /** * 几何图形工具 */ public class GeometryUtil { /** * As meaning of method name. 获得两点之间的距离 * * @param p0 * @param p1 * @return */ publi

java开发_图片截取工具实现原理_java

先来看看效果: 测试一: 原图: 开发_图片截取工具实现原理_java-js图片截取实现原理"> 效果图: 测试二: 原图: 效果图: 代码部分: 复制代码 代码如下: /** * */ package com.b510; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.IOE

Android开发之图片旋转功能实现方法【基于Matrix】

本文实例讲述了Android开发之图片旋转功能实现方法.分享给大家供大家参考,具体如下: 在Android中进行图像旋转需要使用Matrix,它包含了一个3*3的矩阵,专门用于进行图像变换匹配.Matrix ,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放.平移.旋转等操作.Matrix没有机构体,它必须初始化,然后通过reset方法和set方法来实现. 首先介绍一下矩阵运算.加法和减法就不用说了,太简单了,对应位相加就好.图像处理,主要用到的是乘法 .下面是一个乘法的公式

android开发查询数据库的实现类和dao层

问题描述 android开发查询数据库的实现类和dao层 之前开发的项目数据单机的吧,现在在公司要开发联网的项目,就用上了数据库,我就要写这前我写的实现类和接口,还有DBHelper,那是我做网站的时候用于查询数据库的,请问做app操作数据库和我之前写的一样么,写个DBHelper,实现类集成接口,增删查改写到实现类里.感觉这流程是不怎么熟悉啊 解决方案 ActiveAndroid 一个andriod DB操作的开源库,很方便 解决方案二: 你用ado比较好点----

Android开发实现图片圆角的方法_Android

本文讲述了Android开发实现图片圆角的方法.分享给大家供大家参考,具体如下: Bitmap myCoolBitmap = ... ; // <-- Your bitmap you want rounded int w = myCoolBitmap.getWidth(), h = myCoolBitmap.getHeight(); Bitmap rounder = Bitmap.createBitmap(w,h,Bitmap.Config.ARGB_8888); Canvas canvas =

Java中StringUtils工具类的一些用法实例

  这篇文章主要介绍了Java中StringUtils工具类的一些用法实例,本文着重讲解了isEmpty和isBlank方法的使用,另外也讲解了trim.strip等方法的使用实例,需要的朋友可以参考下 StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果

Android中调用webservice的工具类

最近学习WebService,感觉利用这个借口开发网站的Android客户端方便及了,用到一个工具类,这 里铭记一下. publicstaticfinal String WebServiceNamespace =""//地址publicstaticfinal String WebAddress = ""//地址 调用Webservice public static Object callWebservice(String WebServiceUrl,String m