`

Android剪切图片

阅读更多

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"

示例图:

 

  • 大小: 8.4 KB
分享到:
评论

相关推荐

    android剪切图片代码

    在Android开发中,剪切图片是一项常见的功能,用于让用户选择并裁剪出图像的一部分作为应用内的头像、封面或者任何需要个性化图片的地方。本压缩包文件"android-cropimage-master"提供了一个完整的解决方案,用于在...

    Android 图片剪切

    在Android平台上,图片剪切是一项常见的功能,常用于用户头像设置、照片编辑等场景。本文将详细探讨如何实现Android图片剪切的功能,包括基本原理、关键代码以及使用到的相关库。 首先,Android图片剪切的基本流程...

    Android剪切图片的Demo

    这个Demo,"Android剪切图片的Demo",由作者yy1300326388创建,名为cutPicDemo-for-Android,提供了一个完整的实现,包括拍照和图片缩放等关键功能。以下将详细介绍该Demo涉及的关键知识点。 1. **Intent启动相机...

    Android拍照,相册选取图片后剪切

    在Android平台上,开发一款应用,让用户能够通过拍照或者从相册选取图片,然后进行剪切操作,是一项常见的功能需求。这个过程涉及到多个Android系统服务和API的交互,包括相机服务、图片选择器以及图片处理技术。...

    android demo图片剪切

    "android demo图片剪切"是一个示例项目,它演示了如何在Android平台上实现图片裁剪功能,包括从相册选择图片进行裁剪以及通过相机拍摄新图片后进行裁剪。 首先,我们要理解Android中的图片裁剪涉及到的关键组件和...

    Android图片剪切并存入数据库

    本项目"Android图片剪切并存入数据库"正是关注这个场景,下面将详细解释实现这个功能的关键知识点。 首先,我们需要使用`Intent`来实现从相册或相机获取图片的功能。通过启动一个系统级别的`Intent`,用户可以选择...

    android图片剪切

    在Android平台上,图片剪切是一项常见的功能,广泛应用于各种应用程序,如社交软件、图像编辑工具等。本节将深入探讨如何在Android应用中实现图片剪切功能,包括从相册选择图片和直接拍照获取图片,以及相关的技术...

    Android圆形头像剪切2.0,Android Studio版

    Android头像剪切,解决了上一版剪切结果偏移的问题。这里是Android Studio版,实现过程可到博客http://blog.csdn.net/qmln31821007/article/details/49995657中查看,博客中有Eclipse版demo下载

    android相机拍照,图片剪切

    在Android平台上,开发一款应用实现相机拍照和图片剪切功能是一项常见的需求。下面将详细讲解这一过程中的关键知识点,以及如何实现这两个功能。 首先,我们要理解Android系统是如何处理相机拍照的。Android提供了...

    Android 剪切大图片Demo

    "Android 剪切大图片Demo"是为了解决这个问题而设计的一个实践项目。这个Demo提供了两种功能:拍照后剪切大图片以及从相册选取大图片后进行剪切。下面将详细探讨这两个功能及其背后的技术点。 1. 拍照剪切大图片: ...

    Android图片选择,裁剪,预览,下载

    在Android应用开发中,图片处理是一项常见的需求,无论是社交应用中的个人头像设置,还是电商应用的商品图片上传,都需要对图片进行选择、裁剪、预览以及下载等操作。本项目"Android图片选择,裁剪,预览,下载"正是...

    Android裁剪图片终极解决方案

    在Android开发中,图片裁剪是一项常见的功能,用于用户选择照片、自定义头像或进行图像编辑等场景。本文将深入探讨如何实现Android大图片裁剪的终极解决方案,结合提供的资源包`CropImage-Enhance`,我们将涵盖以下...

    android 图片剪切

    在Android开发中,图片处理是一项常见的任务,包括图片的缩放、旋转以及剪切等操作。这些功能在各种应用场景中都很常见,比如社交媒体应用中的图片编辑、相机应用的预览和裁剪等。下面我们将详细探讨如何在Android...

    Android 照相机裁切图片

    在Android开发中,实现“Android 照相机裁切图片”的功能是常见的需求,尤其是在社交应用或者图片处理类应用中。这个功能允许用户拍摄照片后,根据自己的需要选择并调整图片的展示区域,以便精确地选取想要的部分。...

    Android图片上传(头像裁切+原图原样)

    在Android应用开发中,图片处理是一项常见的需求,包括头像裁切和原图原样上传。这个主题将深入探讨如何在Android中实现这两个功能。首先,我们从头像裁切开始。 头像裁切通常涉及到图像的选择和编辑过程。用户可以...

    android就剪切图片源码ClipPhoto

    在Android开发中,剪切图片是一项常见的功能,用于让用户自定义选择图像的特定部分。"ClipPhoto"项目提供了一个实现这一功能的源码示例。本文将深入探讨这个项目的相关知识点,包括Android图像处理的基本原理、剪切...

    android 传本地图片路径 剪切图片

    在给定的标题“android 传本地图片路径 剪切图片”和描述中,我们可以看到这是一个关于如何在Android Studio项目中处理图片裁剪的需求。下面将详细介绍这个过程,并提供相关的技术知识点。 首先,我们需要获取用户...

    Android 图片选择 图片剪裁

    在Android开发中,图片选择和剪裁是常见的用户交互需求,尤其在社交应用、个人资料设置等场景下。本文将详细介绍如何实现这一功能,并提供一个简单的代码简介。 首先,图片选择通常涉及到系统的相册集成。Android...

    Android图片裁剪demo

    在Android开发中,图片处理是一项常见的任务,而图片裁剪功能更是不可或缺的一部分,尤其是在社交、相机应用或图像编辑器中。本示例“Android图片裁剪demo”专注于提供一个实现方形和非方形裁剪功能的解决方案。下面...

Global site tag (gtag.js) - Google Analytics