源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android开发之图片切割工具类定义与用法示例

  • 时间:2020-10-15 23:17 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android开发之图片切割工具类定义与用法示例
本文实例讲述了Android开发之图片切割工具类定义与用法。分享给大家供大家参考,具体如下: 该工具类比较常见于拼图游戏中使用。这里演示了类基本的定义与使用方法。 [b]图片切割工具类定义:[/b]
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;
  }
}

[b]图片切割实体类:[/b]
public class ImagePiece
{
  public int index = 0;
  public Bitmap bitmap = null;
}

[b]使用方法:[/b]
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;
      }
    });
}

[b]PS:这里再为大家推荐一款js实现的拼图游戏供大家参考:[/b] [b]在线美女拼图游戏: [/b][url=http://tools.jb51.net/games/pintu]http://tools.jb51.net/games/pintu[/url] 更多关于Android相关内容感兴趣的读者可查看本站专题:《[url=http://www.1sucai.cn/Special/214.htm]Android图形与图像处理技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/410.htm]Android开发入门与进阶教程[/url]》、《[url=http://www.1sucai.cn/Special/508.htm]Android调试技巧与常见问题解决方法汇总[/url]》、《[url=http://www.1sucai.cn/Special/381.htm]Android基本组件用法总结[/url]》、《[url=http://www.1sucai.cn/Special/375.htm]Android视图View技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/371.htm]Android布局layout技巧总结[/url]》及《[url=http://www.1sucai.cn/Special/124.htm]Android控件用法总结[/url]》 希望本文所述对大家Android程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部