首页 > 代码库 > 调用相机拍照和图册中的图片并且对图片进行裁剪
调用相机拍照和图册中的图片并且对图片进行裁剪
在写Android应用的时候,很多时候需要调用自带的相机拍照或者直接从图库中选取图片并且对图片进行裁剪。
下面就讲述如何实现。
1. 调用相机
(1) 使用Intent调用相机,但是在启动Intent之前要设置一个文件路径,用来存储相机照下来的照片。
(2)然后使用startActivityForResult启动Intent。
(3)然后在protected void onActivityResult(int requestCode, int resultCode, Intent data)函数中获得拍照得到的照片
2. 调用图库中的图片和裁剪照片
步骤和调用相机类似,只是Intent的参数和获得照片时候的处理不一样,具体看下面的代码。
代码如下:
private static final int NONE = 0; private static final int PHOTO_GRAPH = 1;// 拍照 private static final int PHOTO_ZOOM = 2; // 缩放 private static final int PHOTO_RESOULT = 3;// 结果 private static final String IMAGE_UNSPECIFIED = "image/*"; /*拍照获得图片*/ public void onCameraGetPictureClick(View v){ Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment .getExternalStorageDirectory(),"temp.jpg"))); startActivityForResult(intent, PHOTO_GRAPH); } /*从相册获得图片*/ public void onBrowsePictureClick(View v){ Intent intent = new Intent(); intent.setType(IMAGE_UNSPECIFIED); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(intent,PHOTO_ZOOM); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == NONE) return; // 拍照 if (requestCode == PHOTO_GRAPH) { // 设置文件保存路径 File picture = new File(Environment.getExternalStorageDirectory() + "/temp.jpg"); startPhotoZoom(Uri.fromFile(picture)); } if (data =http://www.mamicode.com/= null)>
调用相机拍照和图册中的图片并且对图片进行裁剪
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。