Android调用系统相册选择照片并裁剪
来源:互联网 发布:python嵌入java 编辑:程序博客网 时间:2024/05/29 21:33
Android调用系统相册选择照片并裁剪:
先通过Intent intent = new Intent(Intent.ACTION_PICK, null);来打开浏览相册并可以选择图片;
选择完成回调裁剪 Intent intent = new Intent("com.android.camera.action.CROP");
需要分两步来执行,否则在某些手机(如LG Nexus5)不能调出来裁剪,达不到选择照片的目的;
示例代码如下
package com.example.gallerydemo;
import java.io.File;import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.view.View;
import android.view.View.OnClickListener;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
public class MainActivity extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.camera:
break;
case R.id.photo:
Intent intent = new Intent(Intent.ACTION_PICK, null);
intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
this.startActivityForResult(intent, 2);
break;
default:
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case 1:
break;
case 2:
Uri originalUri = data.getData();
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(originalUri, "image/*");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.parse(getCameraTempFileDir()));
intent.putExtra("return-data", false);
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 200);
intent.putExtra("outputY", 200);
intent.putExtra("scale", true);
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
intent.putExtra("noFaceDetection", true);
this.startActivityForResult(intent, 3);
break;
case 3:
String s = "abc";
break;
default:
break;
}
}
public String getCameraTempFileDir() {
File sdDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
String path = sdDir.getPath() + File.separator + "wangwang";
File dir;
dir = new File(path, "gallery_photo.jpg");
if (!dir.exists()) {
dir.mkdirs();
}
return dir.getPath();
}
}
0 0
- Android调用系统相册选择照片并裁剪
- 调用系统相册选取照片并使用系统裁剪图片
- android调用摄像头拍照,从相册中选择照片并裁剪
- 调用Android系统相册并裁剪图片
- Android调用相册或相机拍照选取照片并裁剪
- Android调用相册或相机拍照选取照片并裁剪
- Android调用相册或相机拍照选取照片并裁剪
- Android 中拍照、相册选择、裁剪照片
- Android从相册选择图片并裁剪
- Android调用系统相机拍照、从相册中取照片,裁剪,并保存到手机SD卡中,展示到界面
- android选择照片(相册、照相)并剪裁,裁剪后生成本地PNG,并读取 全流程记录
- android 拍照和相册选取照片并裁剪获取bitmap
- Android调用系统相机照片和裁剪
- Android 调用系统相册(带裁剪)
- android调用系统相机、相册、裁剪
- Android 调用系统相册选择图片并显示
- Android 调用系统相册选择图片并显示
- Android 调用系统相册选择图片并显示
- jmap简单实用示例
- IIS6.0 FTP 建立独立账号对应独立文件夹
- mybits排序中,保留返回的结果集中的原有的顺序
- 【Linux】Linux用户、用户组、文件权限学习笔记
- MapReduce二次排序。
- Android调用系统相册选择照片并裁剪
- 生成高斯分布随机数的程序
- sqlserver2008 jDBC 连接报错:Connection refused: connect
- UDP协议
- Android 支付宝【支付】
- 十一月份个人总结
- iOS Keychain KeychainItemWrapper And SFHFKeychainUtils
- [leetcode]Convert Sorted List to Binary Search Tree
- avio_reading.c