}
/** * 调用相机 */ public static Intent invokeCamera(String imgName) { String imagePath = AppCacheUtils.getPathByFolderType(AppCacheUtils.FolderType.images); File files = new File(imagePath,imgName); filePath=files.getPath(); userImageUri=Uri.fromFile(files); Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); intent.putExtra(MediaStore.Images.Media.ORIENTATION,1); // 下面这句指定调用相机拍照后的照片存储的路径 intent.putExtra( MediaStore.EXTRA_OUTPUT , userImageUri); return intent; } /** * 裁剪图片 * @param uri */ public static Intent startPhotoZoom(Uri uri,String imgName) { if (uri == null) { String imagePath = AppCacheUtils.getPathByFolderType(AppCacheUtils.FolderType.images); File file = new File(imagePath, imgName); // File file = new File(imagePath, "xg_temp_image.jpg"); uri = Uri.fromFile(file); } Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType(uri, "image/*"); // 下面这个crop=true是设置在开启的Intent中设置显示的VIEW可裁剪 intent.putExtra("crop", "true"); // aspectX aspectY 是宽高的比例 intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); // outputX outputY 是裁剪图片宽高 intent.putExtra("outputX", 500); intent.putExtra("outputY", 500); intent.putExtra("scale", true); intent.putExtra("return-data", false); // 开始return-data设置了true的话直接返回bitmap,可能会很占内存 intent.putExtra("noFaceDetection", true); // no face detection File outputImage = new File(AppCacheUtils.getPathByFolderType(AppCacheUtils.FolderType.images), "xg_head_small.jpg"); try { if (outputImage.exists()) { outputImage.delete(); } outputImage.createNewFile(); } catch (Exception e) { e.printStackTrace(); } userImageUri=Uri.fromFile(outputImage); // userImageUri = Uri.parse("file://"+ AppCacheUtils.getPathByFolderType(AppCacheUtils.FolderType.images) + "/" + "xg_head_small.jpg"); intent.putExtra("output", userImageUri);//保存路径 intent.putExtra(MediaStore.EXTRA_OUTPUT, userImageUri); intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString()); return intent; }