Android剪切图片
项目需求中用到剪切图片功能,在网上打了比较好的解决方案,分享下。
参考:http://www.linuxidc.com/Linux/2012-11/73940.htm
贴出部分代码:
private android.view.View.OnClickListener onClickListener = new android.view.View.OnClickListener() { @Override public void onClick(View v) { switch (v.getId()) { case R.id.my_btn_cilp: //剪切大图 //(file://)必须要加 mImageCaptureUri = Uri.parse("file://"+imageFilePath); //大图使用URL Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null); intent.setType("image/*"); intent.putExtra("crop", "true"); intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); intent.putExtra("outputX", 600); intent.putExtra("outputY", 600); intent.putExtra("scale", true); intent.putExtra("return-data", false); intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageCaptureUri); intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString()); intent.putExtra("noFaceDetection", true); // no face detection //注意Intent.createChooser的使用,选择多个操作应用 startActivityForResult(Intent.createChooser(intent, "选择"), CHOOSE_BIG_PICTURE); break; case R.id.my_btn_find://选择图库 Intent intentimage = new Intent(Intent.ACTION_PICK, null); intentimage.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*"); startActivityForResult(intentimage, PICK_FROM_FILE); break; case R.id.my_btncilp_thumb: //剪切缩略图 //通过intent中设置的type属性来判断具体调用哪个程序的 Intent intentThumb = new Intent(Intent.ACTION_GET_CONTENT, null); intentThumb.setType("image/*"); intentThumb.putExtra("crop", "true"); intentThumb.putExtra("aspectX", 2); intentThumb.putExtra("aspectY", 1); intentThumb.putExtra("outputX", 200); intentThumb.putExtra("outputY", 100); intentThumb.putExtra("scale", true); intentThumb.putExtra("return-data", true); intentThumb.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString()); intentThumb.putExtra("noFaceDetection", true); // no face detection startActivityForResult(intentThumb, CHOOSE_BIG_PICTURE_SAVE); break; default: break; } } };
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Toast.makeText( MainActivity.this, "這是拍照所得" + requestCode + "resultCode===" + resultCode + "RESULT_OK======" + RESULT_OK, Toast.LENGTH_LONG) .show(); if (resultCode != RESULT_OK) { return; } switch (requestCode) { case PICK_FROM_FILE: //缩略图使用bitmap mImageCaptureUri = data.getData(); Log.i("cilp", "CHOOSE_BIG_PICTURE: data = " + data);//it seems to be null if(mImageView != null){ Bitmap bitmap = decodeUriAsBitmap(mImageCaptureUri);//decode bitmap mImageView.setImageBitmap(bitmap); } break; case CHOOSE_BIG_PICTURE: saveBigmap(); break; case CHOOSE_BIG_PICTURE_SAVE: if(data != null){ saveCutPic(data); } break; default: break; } }
注:示例工程,给出了剪切大图、缩略图的比较以及Intent.createChooser的使用
另外:补充下设置 RadioButton在文字 的右边 ,使用属性android:drawableRight="@android:drawable/btn_radio"
示例图:
相关推荐
该文件里面具备剪切图片的封装,有使用的样例。适合各个android厂商上调用。
android图片裁剪,压缩文件中含有效果图,可用于用户头像上传,修改等。可以拖动,选择剪切的区域。。。。。。
作者yy1300326388,源码cutPicDemo-for-Android,这个案例实现了可以支持拍照,以及缩放等常用的功能。
android 图片剪切demo,包括相册图片裁剪,照相机拍摄图片裁剪
通过从相册读取或直接拍照得到图片,android图片剪切。
拍照剪切 相册选取剪切 剪切 截图,有需要的朋友可以看下,也测试过
Android头像剪切,解决了上一版剪切结果偏移的问题。这里是Android Studio版,实现过程可到博客http://blog.csdn.net/qmln31821007/article/details/49995657中查看,博客中有Eclipse版demo下载
android就剪切图片源码ClipPhotoandroid就剪切图片源码ClipPhoto
非常好的android相机拍照,图片剪切
Android 照相机裁切图片 像QQ上传图片那样,调用照相机拍照,然后可以手动截取图片区域,放大缩小* 效果见源码
Android图片编辑demo(包含图片的裁剪、旋转、缩放)。
Android ImageView圆角图片 + 剪切,图像图片更改,调用图库实现图片剪切,剪切后生成圆角图片
具体分析见我的博客:http://blog.csdn.net/floodingfire Android大图片裁剪终极解决方案
android 实现从图库选择一张图,然后剪切图片,显示在界面上。还有拍照获取剪切图片。
很完整的一个Android相册选择图片和拍照剪切上传图片头像的例子,界面干净整洁、漂亮大方。
Android图片上传(头像裁切+原图原样) http://blog.csdn.net/geofferysun/article/details/42835669
图片剪切 借用 library cropper com.js.photosdk.enhance 图片增强,对比度,饱和度,亮度 com.js.photosdk.filter 滤镜 借用 library android-gpuimage com.js.photosdk.mosaic 马赛克 ...
Android图片的旋转 缩放 剪切 存储