获取本地照片和拍照上传并裁剪的实现
来源:互联网 发布:手机cad画图软件 编辑:程序博客网 时间:2024/04/30 03:48
// 获取照片方法public void showPhtoes() {String[] s = { "照相", "从照册取出", "取消" };Builder builder = new Builder(this);builder.setItems(s, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {switch (which) {case 0:// if (SDcardUtil.isExistsSdcard()) {Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "temp.jpg")));startActivityForResult(intent,Constants.IntentRequestCodes.PHOTOINTENTREQUESTCODE);// } else {// Alert.displayToastForLengthShort(// SetDetailsinfoManagement.this, "SD卡不存在");// }break;case 1:// if (SDcardUtil.isExistsSdcard()) {Intent intent1 = new Intent(Intent.ACTION_GET_CONTENT, null);intent1.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*");startActivityForResult(intent1,Constants.IntentRequestCodes.PHOTOZOOMQUESTCODE);// } else {// Alert.displayToastForLengthShort(// SetDetailsinfoManagement.this, "SD卡不存在");// }break;case 2:break;}}}).create().show();}protected void onActivityResult(int requestCode, int resultCode, Intent data) {switch (requestCode) {// 如果是直接从相册获取case Constants.IntentRequestCodes.PHOTOZOOMQUESTCODE:<span style="white-space:pre"></span>startPhotoZoom(data.getData());break;// 如果是调用相机拍照时case Constants.IntentRequestCodes.PHOTOINTENTREQUESTCODE:File temp = new File(Environment.getExternalStorageDirectory()+ "/temp.jpg");startPhotoZoom(Uri.fromFile(temp));break;// 取得裁剪后的图片case Constants.IntentRequestCodes.PHOTORESOULTQUESTCODE:/*** 非空判断大家一定要验证,如果不验证的话, 在剪裁之后如果发现不满意,要重新裁剪,丢弃* 当前功能时,会报NullException,只 在这个地方加下,大家可以根据不同情况在合适的 地方做判断处理类似情况 */if (data != null) {<span style="white-space:pre"></span>setPicToView(data);}break;case RESULT_CANCELED:return;default:break;}super.onActivityResult(requestCode, resultCode, data);}/** * 裁剪图片方法实现 * * @param uri */public void startPhotoZoom(Uri uri) {Intent intent = new Intent("com.android.camera.action.CROP");intent.setDataAndType(uri, "image/*");intent.putExtra("crop", "true");intent.putExtra("return-data", true);startActivityForResult(intent,Constants.IntentRequestCodes.PHOTORESOULTQUESTCODE);}/** * 保存裁剪之后的图片数据 * * @param picdata */private void setPicToView(Intent picdata) {Bundle extras = picdata.getExtras();if (extras != null) {Bitmap photo = extras.getParcelable("data");/** * 下面注释的方法是将裁剪之后的图片以Base64Coder的字符方式上 传到服务器 */String tp = StringUtil.ConvertByteArrayToBase64(BitmapUtil.bitmap2Bytes(photo));ByteArrayOutputStream stream = new ByteArrayOutputStream();photo.compress(Bitmap.CompressFormat.PNG, 75, stream);// (0 - 100)压缩文件companyview.setImageBitmap(photo);}}
0 0
- 获取本地照片和拍照上传并裁剪的实现
- android 拍照和相册选取照片并裁剪获取bitmap
- 上传文件之获取拍照照片和本地图库
- android 实现调用相机拍照 获取照片路径并上传
- ios 上传头像 从本地获取照片、拍照及剪裁并上传到界面上
- 选择照片、拍照裁剪上传
- iOS 上传照片到服务器 获取相册和拍照功能的照片 照片压缩上传
- Android 拍照,从图库选择照片,并裁剪,上传到服务器
- 好用的调用图库和拍照并裁剪功能(适用于上传头像)
- 从图库获取照片并实现裁剪功能
- mono for android 获取手机照片或拍照并裁剪保存
- 从相册或拍照获取图片,并实现图片的裁剪
- Android实现类似QQ头像点击打开相册或者拍照,并获取裁剪后的图片
- 拍照打开本地图库裁剪加上传
- Android本地上传图片、拍照、裁剪
- 获取相册照片和获取拍照照片
- Android开发:相册读取、拍照、图片裁剪和图片上传服务器等功能的实现
- 调用手机相机拍照并获取拍摄的照片
- Mysql 多表联合查询效率分析及优化
- iOS 检测内存泄露
- 国家超级计算天津中心免费测试活动(长期有效)
- Go语言学习示例
- codeforces #308 D.Vanya and Triangles(枚举+斜率分块)
- 获取本地照片和拍照上传并裁剪的实现
- 变量
- LeetCode 之 Merge Intervals — C++ 实现
- 子数组之和
- eclipse中文字体大小修改,让中英文字体协调
- PostgreSql初探(2)-创建数据库
- 1小时 1分钟之前 java 处理
- dyld:Expected in: /System/Library/Frameworks/CFNetwork.framework/CFNetwork
- POJ 1769