Android拆分Bitmap完整示例
来源:互联网 发布:黑马电商大数据就业班 编辑:程序博客网 时间:2024/05/19 14:38
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<Bitmap> 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<Bitmap> splitImage(Bitmap rawBitmap,int row,int column){ ArrayList<Bitmap> partImagesArrayList=new ArrayList<Bitmap>(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如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/splitButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginTop="10dip" android:text="拆分图片" /> <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/e" /></RelativeLayout>
- Android拆分Bitmap完整示例
- Android图片旋转,缩放,位移,倾斜,对称完整示例(二)——Bitmap.createBitmap()和Matrix
- android中bitmap用法示例
- Android中画bitmap的简单示例
- Android 画 bitmap 的简单示例
- Android上Bitmap文件解析示例
- Android 通信录 完整示例编程详解
- Android Widget日历 完整示例分析
- android与web交互完整示例
- Android显示GIF动画完整示例(二)
- Android显示GIF动画完整示例(一)
- Android多线程断点下载完整示例详解
- 基于IntentService的Android登录完整示例
- Android点亮屏幕和解锁完整示例
- Android中AutoCompleteTextView完整示例(二)
- Android中AutoCompleteTextView完整示例(一)
- Android定时发送短信完整详细示例
- Android文件存储详细完整示例
- ACM训练方案-POJ题目分类
- 点击链接直接跳转到app store指定应用下载页面以及添加评论
- ssh密钥转发(Linux和Windows)
- 堆排序HeapSort算法学习
- Hashtable表应用
- Android拆分Bitmap完整示例
- MySql创建函数
- IOS开发之DatePicker控件详解
- 电视与盒子那些事儿
- AndroidRuntimeException:This message is already in use
- xml文件的解析方式
- jdk与jre的区别
- [debug]调试Release版本应用程序
- acm之pku题目分类