camera-使用照相机拍照,获取图片路径

问题描述

使用照相机拍照,获取图片路径

在程序中我使用手机相机拍一张照片,然后把这张图片保存在手机图库里面。然后我想获取图片的路径,再保存到数据库中。如何实现呢?

public void onClick(View v){
        switch(v.getId())
        {
            case R.id.btnLoadPic:

                //Options for the dialogue menu
                final CharSequence[] items = {"Camera", "Gallery"};

                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setTitle("Choose an Option");
                builder.setItems(items, new DialogInterface.OnClickListener() {
                    /**
                     * Make onclick functionality for the options in the dialogue menu
                     */
                    public void onClick(DialogInterface dialog, int item) {

                        // Camera option
                        if (item == 0){

                            PackageManager pm = getPackageManager();

                            if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)){
                                //Toast.makeText(this, "camera", Toast.LENGTH_SHORT).show();
                                dispatchTakePictureIntent(11);
                            } else {
                                Toast.makeText(null, "No camera avalible", Toast.LENGTH_SHORT).show();

                            }
                        }
                        // Gallery option this works fine

    private void dispatchTakePictureIntent(int actionCode) {
            Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(takePictureIntent, actionCode);

            //handleSmallCameraPhoto(takePictureIntent);
        }

        private void handleSmallCameraPhoto(Intent intent) {
            Bundle extras = intent.getExtras();
            Bitmap mImageBitmap = (Bitmap) extras.get("data");
            ImageView mImageView = (ImageView) this.findViewById(R.id.imagePlayer);
            mImageView.setImageBitmap(mImageBitmap);

        }

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            handleSmallCameraPhoto(data);
        }

后面的代码访问照相机,然后在 imageview 中显示图像,如何在一个字符串格式中获取图片的路径?

解决方案

测试使用下面的代码:

          @Override
            public void onClick(View v) {
                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(destination));
                startActivityForResult(intent, REQUEST_IMAGE);
            }
        });
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if( requestCode == REQUEST_IMAGE && resultCode == Activity.RESULT_OK ){
            try {
                FileInputStream in = new FileInputStream(destination);
                BitmapFactory.Options options = new BitmapFactory.Options();
                options.inSampleSize = 10;
                imagePath = destination.getAbsolutePath();
                tvPath.setText(imagePath);
                Bitmap bmp = BitmapFactory.decodeStream(in, null, options);
                picture.setImageBitmap(bmp);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        }
        else{
            tvPath.setText("Request cancelled");
        }
    }

    public String dateToString(Date date, String format) {
        SimpleDateFormat df = new SimpleDateFormat(format);
        return df.format(date);
    }
}

不要忘记在 manifest 文件中添加权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
时间: 2024-10-03 12:48:04

camera-使用照相机拍照,获取图片路径的相关文章

Android获取本地相册图片和拍照获取图片的实现方法

需求:从本地相册找图片,或通过调用系统相机拍照得到图片. 容易出错的地方: 1.当我们指定了照片的uri路径,我们就不能通过data.getData();来获取uri,而应该直接拿到uri(用全局变量或者其他方式)然后设置给imageView imageView.setImageURI(uri); 2.我发现手机前置摄像头拍出来的照片只有几百KB,直接用imageView.setImageURI(uri);没有很大问题,但是后置摄像头拍出来的照片比较大,这个时候使用imageView.setIm

javaweb-IOS 获取图片路径然后生成NSData数据,Java做的后台怎么接收数据并保存

问题描述 IOS 获取图片路径然后生成NSData数据,Java做的后台怎么接收数据并保存 RT,现在在进行一个项目,好久没写代码了,这个要与IOS进行交互,IOS那边生成的NSData数据,action需读取并保存,哪位能指点一下迷津,不要讲上传原理,原理我造 - -

jsp-MySQL获取图片路径在JSP显示图片问题

问题描述 MySQL获取图片路径在JSP显示图片问题 从数据库获取的图片路径放到jsp中,当访问页面时却没有图片,只有这么个东西,实在不知道怎么解决,求大神指点! jsp代码如下: <%@page import="com.gxy.bean.GxyProduct"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

获取图片路径

问题描述 我要获取一个图片路径,但是这个图片存放的位置没有在项目里,我该怎么获取路径.我用了绝对路径也不行...... 解决方案 解决方案二:是c/s项目,还是b/s项目呢c/s的,要得到绝对的物理路程b/s的,要设置相应虚拟目录,否则在iis中是没办法访问的.解决方案三:可以采用资源的方式解决方案四:b/s的,在iis中配置?解决方案五:在IIS中设置虚拟目录指向图片物理文件夹位置,然后你就可以当作在项目中有这个文件夹了那样用法或者你的IIS为图片建立一个网站,然后你的网站通过http指向解决

Android实现拍照及图片裁剪(6.0以上权限处理及7.0以上文件管理)

最近做项目中涉及到了图片相关功能 ,在使用安卓6.0手机及7.1手机拍照时,遇到了因权限及文件管理导致程序崩溃等问题.  刚好把功能修改完,把代码简单地贴一下,方便以后使用. --主界面 代码 -- public class MainActivity extends AppCompatActivity { //拍照按钮 private Button take_photo; //显示裁剪后的图片 private ImageView photo_iv; private static final in

动态加载图片路径 保持JavaScript控件的相对独立性_javascript技巧

当时考虑有三种方法: 1.直接把路径写在js文件里,但如果引用页面路径层级改变就没辙了. 2.写个class,放在主题包里的css文件或者单独创建一个css文件给日期控件专用.但是控件中的其他元素并没有使用class的需要,单独建立相应css文档似乎小题大做. 3.把以上两个方法排除后,自然要采用动态加载图片路径的方法咯. 关键代码如下: 复制代码 代码如下: //创建一个全局变量保存路径 var imgRootUrl = ""; //获取图片路径所在目录 var strPath=wi

Android Camera开发系列(下)——自定义Camera实现拍照查看图片等功能

Android Camera开发系列(下)--自定义Camera实现拍照查看图片等功能 Android Camera开发系列(上)--Camera的基本调用与实现拍照功能以及获取拍照图片加载大图片 上篇讲的都是一些基本的使用,这篇就来自己定义一个相机了 参照Google API:http://developer.android.com/guide/topics/media/camera.html 我们还是在原来的demo上修改,新增一个button,点击跳转到CameraActivity,我们在

Android照相机拍照Camera

Camera. 1.权限设置 2.intent.startActivityForResult启动照相 3.onActivityResult 接收照相的返回值 3.1.数据图片保dsdcard 3.2.读取sdcard图片 3.3.图片加载到imageView上 4.点击图片:popupwindow或者新页面放大展示 /** * 1.启动系统的相机拍照 */ private void initPhoto() { // 隐式启动 系统相机 Intent intent = new Intent(Med

Swift学习笔记(4)使用UIImagePickerController实现从设备图片库和照相机获取图片

Swift学习笔记(4)使用UIImagePickerController实现从设备图片库和照相机获取图片 设备图片库和照相机是图像的两个重要来源,使用UIKit中提供的图像选择器UIImagePickerController可以轻易地实现从设备图片库和照相机获取图片. 目录 Swift学习笔记4使用UIImagePickerController实现从设备图片库和照相机获取图片 目录 声明协议 创建UIImagePickerController UIImagePickerControllerDe