广告
返回顶部
首页 > 资讯 > 移动开发 >Android实现从相册选择照片功能
  • 422
分享到

Android实现从相册选择照片功能

2024-04-02 19:04:59 422人浏览 泡泡鱼
摘要

本文实例为大家分享了Android实现从相册选择照片功能的具体代码,供大家参考,具体内容如下 之前在 《Android开发之裁剪照片》一文中介绍过,如何从相册选取照片和拍摄照片并进行

本文实例为大家分享了Android实现从相册选择照片功能的具体代码,供大家参考,具体内容如下

之前在 《Android开发之裁剪照片》一文中介绍过,如何从相册选取照片和拍摄照片并进行裁切,在本篇中主要向介绍从相册选择原生照片(不裁切)。

第一步:向系统发送选择照片的意图。


private void selectFromGallery() {
    // TODO Auto-generatedmethod stub
    Intentintent=new Intent();
    intent.setAction(Intent.ACTION_PICK);//Pick an item fromthe data
    intent.setType("image
public class MainActivity extends ActionBarActivity {
    
    private final static int SELECT_PIC=123; 
    
    private final static int SELECT_ORIGINAL_PIC=126; 
    
    private final static int TAKE_PIC=124; 
    
    private final static int TAKE_ORIGINAL_PIC=127; 
    
    private final static int CROP_PIC=125; 
    private Uri imageUri;
    private ImageView imgShow;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化imageUri
        imageUri=Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "test.jpg"));
        imgShow=(ImageView)findViewById(R.id.imgShow);
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        switch (requestCode) {
        case SELECT_PIC:
            if (resultCode==RESULT_OK) {//从相册选择照片并裁切
                try {
                    Bitmap bitmap=BitmapFactory.decodeStream(getContentResolver().openInputStream(imageUri));//将imageUri对象的图片加载到内存
                    imgShow.setImageBitmap(bitmap);
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            break;
        case SELECT_ORIGINAL_PIC:
            if (resultCode==RESULT_OK) {//从相册选择照片不裁切
                try {
                    Uri selectedImage = data.getData(); //获取系统返回的照片的Uri 
                    String[] filePathColumn = { MediaStore.Images.Media.DATA };  
                    Cursor cursor = getContentResolver().query(selectedImage,  
                            filePathColumn, null, null, null);//从系统表中查询指定Uri对应的照片
                    cursor.moveToFirst();  
                    int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
                    String picturePath = cursor.getString(columnIndex);  //获取照片路径
                    cursor.close();  
                    Bitmap bitmap= BitmapFactory.decodeFile(picturePath);
                    imgShow.setImageBitmap(bitmap);
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            break;
        case TAKE_PIC://拍取照片,并裁切
            if (resultCode==RESULT_OK) {
                cropImageUri(imageUri, 600, 600, CROP_PIC);
            }
        case TAKE_ORIGINAL_PIC://拍取照片
            if (resultCode==RESULT_OK) {
                String imgPath=imageUri.getPath();//获取拍摄照片路径
            }
            break;
        case CROP_PIC://拍取照片
            if (resultCode==RESULT_OK) {
                try {
                    Bitmap bitmap=BitmapFactory.decodeStream(getContentResolver().
                            openInputStream(imageUri));//将imageUri对象的图片加载到内存
                    imgShow.setImageBitmap(bitmap);
                } catch (FileNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            break;
        default:
            break;
        }
        super.onActivityResult(requestCode, resultCode, data);
    }
    
    private void cropImageUri(Uri imageUri, int outputX, int outputY, int requestCode){
        Intent intent = new Intent("com.android.camera.action.CROP");
        intent.setDataAndType(imageUri, "image
    private void selectFromGallery() {
        // TODO Auto-generated method stub
        Intent intent=new Intent();
        intent.setAction(Intent.ACTION_PICK);//Pick an item from the data
        intent.setType("image
    private void cropFromGallery() {
        // TODO Auto-generated method stub        
        Intent intent=new Intent();
        intent.setAction(Intent.ACTION_PICK);//Pick an item from the data
        intent.setType("image
    private void selectFromTake() {
        // TODO Auto-generated method stub
        Intent intent=new Intent();  
        intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);//设置Action为拍照  
        intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);//将拍取的照片保存到指定URI  
        startActivityForResult(intent, TAKE_ORIGINAL_PIC);  
    }    
    
    private void cropFromTake() {
        // TODO Auto-generated method stub
        Intent intent=new Intent();  
        intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);//设置Action为拍照  
        intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);//将拍取的照片保存到指定URI  
        startActivityForResult(intent, TAKE_PIC);  
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Android实现从相册选择照片功能

本文链接: https://www.lsjlt.com/news/144236.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android实现从相册选择照片功能
    本文实例为大家分享了Android实现从相册选择照片功能的具体代码,供大家参考,具体内容如下 之前在 《Android开发之裁剪照片》一文中介绍过,如何从相册选取照片和拍摄照片并进行...
    99+
    2022-11-13
  • Android实现拍照、选择相册图片并裁剪功能
    通过拍照或相册中获取图片,并进行裁剪操作,然后把图片显示到ImageView上。  当然也可以上传到服务器(项目中绝大部分情况是上传到服务器),参考网上资料及结合项目...
    99+
    2022-06-06
    选择 图片 Android
  • Android获取相册图片-实现选择相册图片功能
    初识MediaProvider 需求:发朋友圈进行图片的选择,或者扫描二维码从图库选取。。。那么我们如何实现?这就需要借助媒体库的内容提供者Me...
    99+
    2022-06-06
    选择 图片 Android
  • android实现拍照或从相册选取图片
    从相册或拍照更换图片功能的实现:(取图无裁剪功能) 获取图片方式: (类似更换头像的效果) 1、手机拍照 选择图片; 2、相册选取图片; 本文只是简单实现该功能,页面展示有些简陋,...
    99+
    2022-11-12
  • 使用Android怎么从相册中选取照片
    使用Android怎么从相册中选取照片?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。(1)直接选择相册后返回第一步就是主要跳转的相册 //在这里跳转到...
    99+
    2023-05-30
    android
  • Android 照片选择区域功能实现示例
    实现 Android 的照片选择区域功能 主要有参考 pqpo/SmartCropper 1, 显示 显示四条边和八个点, 八个点: 4 个角和 4 条边的中点 Point...
    99+
    2022-11-12
  • Android开发中怎么实现一个从相册选择图片进行上传功能
    这期内容当中小编将会给大家带来有关Android开发中怎么实现一个从相册选择图片进行上传功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。从Android系统相册选择一张图片getImageFromAlb...
    99+
    2023-05-31
    android roi
  • Android从相册选择图片剪切和上传
    本文实例为大家分享了Android剪切和上传图片的具体代码,供大家参考,具体内容如下 1、从Android系统相册选择一张图片getImageFromAlbum(): ...
    99+
    2022-06-06
    选择 图片 Android
  • Android实现拍照、选择图片并裁剪图片功能
    一、 实现拍照、选择图片并裁剪图片效果 按照之前博客的风格,首先看下实现效果。      二、 uCrop项目应用 想起之前看到的Yalant...
    99+
    2022-06-06
    选择 图片 Android
  • Android实现从相册截图的功能
    在这篇文章中,我将向大家展示如何从相册截图。 先看看效果图: 上一篇文章中,我就拍照截图这一需求进行了详细的分析,试图让大家了解Android本身的限制,以及我们应当采取的...
    99+
    2022-06-06
    Android
  • Android 实现IOS选择拍照相册底部弹出的实例
    Android 实现IOS选择拍照相册底部弹出的实例效果图1. AndroidStudio使用dependencies { compile 'com.guoqi.widget:actionsheet:1.0'}...
    99+
    2023-05-30
    android ios 拍照
  • android中怎么实现在相册中选择图片
    这期内容当中小编将会给大家带来有关android中怎么实现在相册中选择图片,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先在 activity_main.xml 文件中增加一个 Button,用来触发从...
    99+
    2023-05-30
  • Android实现相机拍摄、选择、图片裁剪功能
    最近的一些学习心得: 功能实现:点击圆形头像之后可以实现相册上传或者开启相机,然后把得到的图片经过剪裁,把剪裁过的图片设置为头像的背景图 步骤:第一步:自定义一个类,继承Ima...
    99+
    2022-06-06
    选择 图片 相机 Android
  • Android仿微信选择图片和拍照功能
    本文实例为大家分享了 Android微信选择图片的具体代码,和微信拍照功能,供大家参考,具体内容如下 1.Android6.0系统,对于权限的使用都是需要申请,选择图片和拍照...
    99+
    2022-06-06
    选择 图片 Android
  • HTML5中如何使用Plus实现手机APP拍照或相册选择图片上传功能
    这篇文章给大家分享的是有关HTML5中如何使用Plus实现手机APP拍照或相册选择图片上传功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。利用HTML Plus的Camera、GalleryIO、Storage...
    99+
    2023-06-09
  • Android 打开相册选择单张图片实现代码
    Android 打开相册选择单张图片实现代码                以下就是如何在...
    99+
    2023-05-31
    android 相册 图片
  • 小程序怎么从本地选择图片或使用相机拍照功能
    这篇“小程序怎么从本地选择图片或使用相机拍照功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“小程序怎么从本地选择图片或使用...
    99+
    2023-06-26
  • 怎么在android中实现拍从相册中选取图片
    这篇文章将为大家详细讲解有关怎么在android中实现拍从相册中选取图片,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。获取图片方式: (类似更换头像的效果)手机拍照 选择图片;2、相册选取图...
    99+
    2023-06-14
  • 微信小程序开发中如何实现从本地相册选择图片或使用相机拍照
    这篇文章主要为大家展示了微信小程序开发中如何实现从本地相册选择图片或使用相机拍照,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“微信小程序开发中如何实现从本地相册选择图片或使用相机拍照”这篇文章吧。...
    99+
    2023-06-26
  • Android实现拍照截取和相册图片截取
    关于拍照截取和相册截取,看了网上很多资料,自己整理了一份比较详细的,供有需要的人参考 1  拍照 原理就是通过intent调用系统的相机,拍完照在回调进行操作,成功...
    99+
    2022-06-06
    图片 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作