图片裁剪关于return-data

public void startPhotoZoom(Uri uri) {
DebugLog.e("rx","=================startPhotoZoom 1111111111111111111111");

Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
// 设置裁剪
intent.putExtra("crop", "true");
// aspectX aspectY 是宽高的比例
intent.putExtra("aspectX", 3);
intent.putExtra("aspectY", 4);
// outputX outputY 是裁剪图片宽高
intent.putExtra("outputX", 300);
intent.putExtra("outputY", 400);

/**  
    * 此方法返回的图片只能是小图片(sumsang测试为高宽160px的图片)  
    * 故将图片保存在Uri中,调用时将Uri转换为Bitmap,此方法还可解决miui系统不能return data的问题  
    */  
intent.putExtra("return-data", false);

//uritempFile为Uri类变量,实例化uritempFile  
   //Uri tempFile = Uri.parse("file://" + "/" + Environment.getExternalStorageDirectory().getPath() + "/" + "small.jpg");  
   
cropTempName = Environment.getExternalStorageDirectory().getPath()
+ "/" + FileCst.DIR_IMAGE + "/"
+ System.currentTimeMillis() + "_crop_temp.jpg";
   intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(cropTempName)));  
   intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());  

startActivityForResult(intent, CROP);
}



intent之间传递数据不能太大, 对于图片好像是160*160.    可以将图片保存在uri中. 此方法还可解决 mini系统不能returndata的问题. 



你可能感兴趣的:(android)