作者:邓浩宸 版本:1.0 #CropDemo 兼容 兼容4.4以下和4.4以上,以及厂商定制手机 工具类 Base64Utils 上传图片是进行处理 BitmpUtils 图片处理 FileUtils 文件缓存 #Croparams类:裁切图片的配置类 aspectX 属性是宽度比例 aspectY 属性是高度的比例 outputX 输出照片的宽度

    outputY 输出照片的高度
	uri   输出图片的路径
	其他的属性暂时没有用

#ImageUtil类 1.使用ImageUtil.takePhotoForResult(this, PICK_FROM_CAMERA) 返回 Uri imgUri (开启startActvity//执行拍照) 返回图片的imgUri,在通过流读写成Bitmap 这里有两个重载的方法 1 takePhotoForResult(Fragment fragment, int reqCode)//拍照并回调onActivityResult方法,照片保存到指定路径,你也可以指定自己的路径 2 takePhotoForResult(Activity activity, int reqCode)//拍照并回调onActivityResult方法,照片保存到指定路径,你也可以指定自己的路径 2.使用ImageUtil.openAbleForResult(this,SELECT_FROM_AMBL) 返回 Uri imgUri (开启startActvity//执行相册选择)
返回图片的imgUri,在通过流读写成Bitmap 这里有两个重载的方法 1 openAbleForResult(Fragment fragment, int reqCode)//通过选择系统相册选择 @param fragment 这里可以是传入fragment作为开启返回的页面 @param reqCode 请求码,自己可以定义 2 openAbleForResult(Activity activity, int reqCode)//通过选择系统相册选择 @param activity 这里可以是传入activity作为开启返回的页面 @param reqCode 请求码 3.使用 ImageUtil.cropForReslt(this, CROP_FROM_CAMERA, mCropParams) 返回 Uri imgUri (进行裁切的方法) 这里有两个重载的方法 1 cropForReslt(final Fragment fragment, final int reqCode, CropParams cropParams)//裁切对应大小的图片 @param fragment 这里可以是传入fragment作为开启返回的页面 @param reqCode 请求码,自己可以定义 @param CropParams 裁切图片的配置类,可以定义宽高 2 cropForReslt(final Activity activity, final int reqCode, CropParams cropParams)//通过选择系统相册选择 @param activity 这里可以是传入activity作为开启返回的页面 @param reqCode 请求码 @param CropParams 裁切图片的配置类,可以定义宽高 #使用方法 1,直接调用ApitakePhotoForResult或者openAbleForResult 2,在Fragment或者Activity中重写onActivityResult方法 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode != Activity.RESULT_OK) { return; } switch (requestCode) { case PICK_FROM_CAMERA: ImageUtil.cropForReslt(this, CROP_FROM_CAMERA, mCropParams); break; case CROP_FROM_CAMERA: if (null != data) { setCropImg(data); } break; case SELECT_FROM_AMBL: ImageUtil.cropForReslt(this, data.getData(), CROP_FROM_CAMERA, mCropParams); break; } } 3,图片处理 private void setCropImg(Intent picdata) { Bitmap revitionImageSize; try { //根据图片处理,进行采样压缩 Toast.makeText(this,mCropParams.uri.getPath(), Toast.LENGTH_SHORT).show(); revitionImageSize = BitmpUtils .revitionImageSize(mCropParams.uri.getPath()); iv.setImageBitmap(revitionImageSize); test="1"; } catch (IOException e) { e.printStackTrace();

			Toast.makeText(this, "出错了", Toast.LENGTH_SHORT).show();
		}
}