1.自定义裁剪类
package com.example.dingkangkang.imagebg;
import java.io.File;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Environment;
import android.provider.MediaStore;
/**
* Created by dingkangkang on 16/4/15.
*/
public class Crop {
private Context context;
private Activity activity;
public Crop(Context context,Activity activity) {
this.context = context;
this.activity = activity;
}
public void cropImage(){//裁剪本地图片
Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);
intent.setType("image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);//裁剪比例
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 300);//裁剪框的大小X
intent.putExtra("outputY", 300);//裁剪框的大小Y
intent.putExtra("scale", true);//裁剪框可以滑动
intent.putExtra("return-data", true);//返回裁剪数据
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
intent.putExtra("noFaceDetection", true); //取消人脸识别功能
activity.startActivityForResult(intent, 0);
}
public void cropImage2(Uri imageuri){//裁剪拍照图片
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(imageuri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 300);
intent.putExtra("outputY", 300);
intent.putExtra("scale", true);
intent.putExtra("return-data", true);
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
intent.putExtra("noFaceDetection", true); //
activity.startActivityForResult(intent, 0);
}
public String TakePhoto(){//拍照
String IMAGE_TEMP = System.currentTimeMillis()+".jpg";
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment.getExternalStorageDirectory(),IMAGE_TEMP )));
intent.putExtra("return-data", true);
activity.startActivityForResult(intent, 2);
return IMAGE_TEMP;
}
}