相册剪裁
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);
}
}
}