1.android的图片剪裁
Intent intent = new Intent("com.android.camera.action.CROP");
//要裁剪的图片
File file = new File(Environment.getExternalStorageDirectory(), "/Camera.png");
Uri uri = Uri.fromFile(file);
intent.setDataAndType(uri, "image/*");
//指定剪裁的比例,若不设定,则可以任意宽度和高度
// intent.putExtra("aspectX", 1);
// intent.putExtra("aspectY", 1);
File outFile = new File(Environment.getExternalStorageDirectory(), "/yu.png");//设置裁剪好后保存的图片位置
//设置输出的图片的宽度和高度,注意会强行设置成该大小
// intent.putExtra("outputX", 100);
// intent.putExtra("outputY", 100);
intent.putExtra("output", Uri.fromFile(outFile));
// intent.putExtra("return-data", true);//好像不设置也可以
startActivity(intent);
2.调用android的选择图片
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
//或者 intent.setAction(Intent.ACTION_PICK);
返回的是Uri,类似 content://media/external/images/media/9379
根据Uri查找文件所在路径
ContentResolver contentResolver = getContentResolver();
Cursor cursor = null;
String[] proj = new String[]{android.provider.MediaStore.Image.Media.DATA};
cursor = contentResolver.query(uri, proj, null, null, null);
cursor.moveToFirst();
int index = cursor.getColumnIndex(Media.DATA);
String path = cursor.getString(index);
String fileType = path.substring(path.lastIndexOf(".") + 1);//文件类型 jpg, gif, jpeg, png, bmp
if(cursor != null){
cursor = null;
}
此时的path就是所选择的图片所在的SD卡的位置,如 /storage/sdcard0/DCIM/Camera/1352891866908.jpg
3. 请求系统内部拍照功能
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//android.media.action.IMAGE_CAPTURE
File temp = new File(Environment.getExternalStorageDirectory(), "temp.png");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(temp));
startActivityForResult(intent, 1);
注意:返回的时候,只有选择图片的返回的 intent.getData不为空,请求相机和请求裁剪该数据都为空,因此才放置临时文件。
分享到:
相关推荐
这个"Android裁剪图片为圆形图片Demo"就是实现这一功能的一个实例。以下我们将详细介绍如何在Android中裁剪图片为圆形,并提供相关的编程知识点。 1. **圆角Bitmap** - 在Android中,我们可以通过`BitmapShader`类...
以上就是关于Android裁剪图片功能的一些基本知识。在实际开发中,可能还会涉及更多细节,如图片加载库(如Glide或Picasso)的使用、裁剪参数的设置等。希望这个概述能为你提供一个开始探索Android图片裁剪的起点。
在Android开发中,图片裁剪是一项常见的功能,用于用户选择照片、自定义头像或进行图像编辑等场景。本文将深入探讨如何实现Android大图片裁剪的终极解决方案,结合提供的资源包`CropImage-Enhance`,我们将涵盖以下...
以上就是实现“android裁剪图片作为头像”的主要步骤和涉及的技术点。在实际开发中,还需要考虑用户体验,比如错误处理、图片加载优化、兼容性问题等。同时,随着Android系统的更新,新的API和最佳实践也需要不断...
总之,Android裁剪图片是一项实用的功能,通过理解并实践上述知识点,开发者可以构建出自己的图片裁剪工具,满足各种应用场景的需求。希望这个简单的例子能帮助到Android开发初学者,也欢迎更多经验分享和交流,共同...
在裁剪图片时,通常会用到ImageView和CropImageView等视图组件。 移动图片: 1. 创建一个ImageView或自定义View,将其ScaleType设置为Matrix,这样我们可以直接对Matrix进行操作来改变图片的位置。 2. 使用Matrix的...
在裁剪图片时,我们通常会用到Bitmap的子类,如MutableBitmap,因为裁剪需要对位图进行修改。 1. **图片裁剪基础** - 使用`ImageView`或`BitmapFactory`加载原始图片。 - `Bitmap.createBitmap()`方法用于创建一...
在Android开发中,图片裁剪是一项常见的功能,用于让用户选择并调整图像的显示部分,比如在上传头像或者编辑照片时。"Android完美图片裁剪"这个话题涉及到多个技术点,我们将逐一深入探讨。 首先,Android系统提供...
在Android开发中,图片处理是一项常见的任务,而图片裁剪功能更是不可或缺的一部分,尤其是在社交、相机应用或图像编辑器中。本示例“Android图片裁剪demo”专注于提供一个实现方形和非方形裁剪功能的解决方案。下面...