现在的位置: 首页 > 综合 > 正文

图片剪裁 Android

2017年12月15日 ⁄ 综合 ⁄ 共 2211字 ⁄ 字号 评论关闭

1,第一种

/**
* 图片裁剪(适用于大图裁剪)
* @param activity
* @param uri
* @param fileUri 裁剪之后图片保存文件的uri
*/
public static void ImageCut(Activity activity, Uri uri,Uri fileUri){
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("noFaceDetection", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
activity.startActivityForResult(intent, REQUESTCODE_IMAGECUT);
}

2,第二种

/**
* 图片裁剪(适用于大图裁剪)
* @param activity
* @param uri
* @param fileUri 裁剪之后图片保存文件的uri
*/
public static void ImageCut(Activity activity, Uri uri,Uri fileUri,int aspectX, int aspectY){
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("aspectX", aspectX);//裁剪框比例 
intent.putExtra("aspectY", aspectY);
intent.putExtra("outputX", aspectX);//输出图片大小 
intent.putExtra("outputY", aspectY);
intent.putExtra("crop", "true");
intent.putExtra("noFaceDetection", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
activity.startActivityForResult(intent, REQUESTCODE_IMAGECUT);
}

3,第三种

/**
* 图片裁剪
* @param activity
* @param uri 需要裁剪图片的URI
* @param x 输出图像的宽
* @param y 输出图像的高
*/
public static void ImageCut(Activity activity, Uri uri, int outputX, int outputY) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("noFaceDetection", true);
intent.putExtra("aspectX", 1);//裁剪框比例 
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", outputX);//输出图片大小 
intent.putExtra("outputY", outputY);
intent.putExtra("return-data", true);
activity.startActivityForResult(intent, REQUESTCODE_IMAGECUT);
}

4,第四种

/**
* 图片裁剪
* @param activity
* @param uri 需要裁剪图片的URI
* @param aspectX 裁剪框的比例宽
* @param aspectY 裁剪框的比例高
* @param outputX 输出图像的宽
* @param outputY 输出图像的高
*/
public static void ImageCut(Activity activity, Uri uri, int aspectX, int aspectY, int outputX,
int outputY) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("noFaceDetection", true);
intent.putExtra("aspectX", aspectX);//裁剪框比例 
intent.putExtra("aspectY", aspectY);
intent.putExtra("outputX", outputX);//输出图片大小 
intent.putExtra("outputY", outputY);
intent.putExtra("return-data", true);
activity.startActivityForResult(intent, REQUESTCODE_IMAGECUT);
}

抱歉!评论已关闭.