本文實(shí)例講述了Android開發(fā)之圖片切割工具類定義與用法。分享給大家供大家參考,具體如下:
該工具類比較常見于拼圖游戲中使用。這里演示了類基本的定義與使用方法。
圖片切割工具類定義:
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;  }}圖片切割實(shí)體類:
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;      }    });}希望本文所述對大家Android程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選