MainActivity如下:

package cc.testsplitimage;import java.util.ArrayList;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;/** * Demo描述: * 拆分图片 *  * 参考资料: * http://blog.csdn.net/arui319/article/details/7470193 * Thank you very much */public class MainActivity extends Activity {    private Button mSplitButton;    private Bitmap mRawBitmap;    private ImageView mImageView;    private int row;    private int column;    private ArrayList mPartImagesArrayLis;    @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);init();}    private void init(){    mSplitButton=(Button) findViewById(R.id.splitButton);    mSplitButton.setOnClickListener(new ClickListenerImpl());    mImageView=(ImageView) findViewById(R.id.imageView);    mRawBitmap=BitmapFactory.decodeResource(getResources(), R.drawable.e);    row=3;    column=3;    }        private class ClickListenerImpl implements OnClickListener{@Overridepublic void onClick(View view) {switch (view.getId()) {case R.id.splitButton:mPartImagesArrayLis=splitImage(mRawBitmap, row, column);mImageView.setImageBitmap(null);break;default:break;}}    }    /**     * @param rawBitmap 原来的Bitmap     * @param row       切成几行     * @param column    切成几列     * @return     */    private ArrayList splitImage(Bitmap rawBitmap,int row,int column){    ArrayList partImagesArrayList=new ArrayList(row*column);    int rawBitmapWidth=rawBitmap.getWidth();    int rawBitmapHeight=rawBitmap.getHeight();    System.out.println("rawBitmapWidth="+rawBitmapWidth+",rawBitmapHeight="+rawBitmapHeight);    int perPartWidth=rawBitmapWidth/column;    int perPartHeight=rawBitmapHeight/row;    System.out.println("perPartWidth="+perPartWidth+",perPartHeight="+perPartHeight);    Bitmap perBitmap=null;    for (int i = 0; i < row; i++) {for (int j = 0; j < column; j++) {int x=j*perPartWidth;int y=i*perPartHeight;System.out.println("i="+i+",j="+j+",x="+x+",y="+y);perBitmap=Bitmap.createBitmap(rawBitmap, x, y, perPartWidth, perPartHeight);partImagesArrayList.add(perBitmap);}}    System.out.println("size="+partImagesArrayList.size());return partImagesArrayList;    }   }


 

main.xml如下:

    


 

更多相关文章

  1. android bitmap oom
  2. 缩放图片 : matrix.setScale(0.5f,0.5f);
  3. Android(安卓)将bitmap保存为本地png图片
  4. 使用Toast显示提示信息框
  5. Android(安卓)webview实现上传图片的效果(图片压缩)
  6. [Android]调用系统相册获取图片
  7. assets点9图加载成NinePatchDrawable
  8. 图片加载缓存类的具体实现
  9. ImageLoader修改后

随机推荐

  1. Android的ImageView填充方式
  2. 通过命令行管理AVD
  3. pc 与 android webrtc 通信的研究
  4. 【移动生活】Google项目副总裁安迪·鲁宾
  5. android framework 启动流程
  6. Android内存优化之OOM
  7. Android大图片裁剪终极解决方案(下:拍照截
  8. Android操作系统发展历程
  9. android TextView的常用属性介绍
  10. Android UI优化—常用UI优化技巧