【问题标题】:how to control/save images took with android camera programmatically?如何以编程方式控制/保存使用 android 相机拍摄的图像?
【发布时间】:2012-01-17 09:04:56
【问题描述】:

我一直在尝试创建一个与相机相关的应用程序。我知道我可以从顶部以编程方式创建它,但我更喜欢使用手机支持的那个。

我的意思是,与其从 0 开始创建相机,我会/可以调用相机活动。毕竟,它提供了我需要的所有系统和 gui。

但是,问题是我希望将结果/图像保存在我之前创建的文件夹中,而不是将其保存在默认的相机文件夹中。并且还重命名图像从默认的“图像”到我喜欢的名称。

如何控制?

【问题讨论】:

    标签: android save android-camera file-rename image-capture


    【解决方案1】:

    试试这个。这里正在将图片保存到sdcard,并在保存时更改其名称。

    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    
    Uri mUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),
                    "pic"+ String.valueOf(System.currentTimeMillis()) + ".jpg"));
    
    intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mUri);
    

    【讨论】:

      【解决方案2】:

      如果您查看相机应用程序源代码,它允许 startActivityForResult(..) 可以将图像返回给您。理想情况下,这是您想要做的。

      作为一个小提示:

      MediaStore

      【讨论】:

        【解决方案3】:

        使用下面的方法拍照,SD_CARD_TEMP_DIR 是你想要存储的路径和图像名称。希望对你有帮助

             private void   takePicture(){
        
            SD_CARD_TEMP_DIR = Environment.getExternalStorageDirectory() + File.separator + "farmerImage"+CassavaPref.getInstance(this).getImageSuffix()+".jpg";
            file =new File(SD_CARD_TEMP_DIR);
            Intent takePictureFromCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            takePictureFromCameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
            startActivityForResult(takePictureFromCameraIntent, 1111);
        }
        

        【讨论】:

        • 01-22 17:56:04.470: E/AndroidRuntime(4924): 致命异常: main 01-22 17:56:04.470: E/AndroidRuntime(4924): java.lang.NullPointerException
        • 第一。在清单中添加权限“写入外部存储”,并给出您在哪一行得到异常
        猜你喜欢
        • 2021-07-05
        • 1970-01-01
        • 2017-09-20
        • 2021-01-10
        • 1970-01-01
        • 1970-01-01
        • 2013-06-29
        • 2011-07-15
        • 2011-10-10
        相关资源
        最近更新 更多