相册 剪裁

相册剪裁

package com.example.pick_picture;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Parcelable;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends Activity {
ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

    //获取控件
    img = (ImageView) findViewById(R.id.img);
}


//需要使用Intent的隐式跳转,Action为Intent.ACTION_PICK,类型为MIME类型
public void getcamera(View view){
	//隐式启动打开相册的activity
	Intent intent = new Intent(Intent.ACTION_PICK);
	intent.setType("image/*");
	startActivityForResult(intent, 101);
}

//调用系统图库使用带返回值的跳转
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	if(requestCode==101 && resultCode == RESULT_OK){
	//从图库里获取照片   uri选取图片的地址
	Uri uri = data.getData();
	//img.setImageURI(uri);
	
	//剪裁
	Intent mintent = new Intent("com.android.camera.action.CROP");
	mintent.setDataAndType(uri, "image/*");
	//设置选取图片是否支持剪裁
	mintent.putExtra("crop", true);
	// 裁剪框的比例,1:1
	mintent.putExtra("acpactX", 1);
	mintent.putExtra("acpactY", 1);
	// 裁剪后输出图片的尺寸大小
	mintent.putExtra("outputX", 250);
	mintent.putExtra("outputY", 250);
	
	
	//是否将裁剪数据保留在Bitmap中返回
	mintent.putExtra("return-data", true);
	
	startActivityForResult(mintent, 202);
	}
	
	if(requestCode==202 && resultCode==RESULT_OK){
		//拿到剪裁后的图片,设置到imageview;
		 Bitmap bitmap = data.getParcelableExtra("data");
		 
		 img.setImageBitmap(bitmap);
	}
}

}

猜你喜欢

转载自blog.csdn.net/KWON_QMY/article/details/83035498