首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android:无法获得相机拍摄的原始照片(只能读取压缩照片)

Android:无法获得相机拍摄的原始照片(只能读取压缩照片)
EN

Stack Overflow用户
提问于 2012-05-28 05:36:57
回答 1查看 5.4K关注 0票数 2

在我的应用程序中,我用android摄像头捕捉照片,然后将其发送到服务器。为此,我使用客户端套接字编程。我将捕获照片转换为字节数组(byte[]),然后将其发送到服务器。每件事都是表面上的。

问题是,我无法将原始照片发送到服务器。缩略图是由android手机发送的。但是当我用相机拍摄照片的时候,原来的照片就在画廊里。

如何在我的应用程序中使用这张原始照片?

我的守则:

代码语言:javascript
复制
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        cameraIntent.putExtra("outputFormat",Bitmap.CompressFormat.JPEG);
        cameraIntent.putExtra("return-data", true);
    startActivityForResult(Intent.createChooser(cameraIntent, "Select Picture"),
                    CAMERA_REQUEST);

在onActivityResult方法中:

代码语言:javascript
复制
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == CAMERA_REQUEST) {
        Bitmap photo = (Bitmap) data.getExtras().get("data");
//          byte[] a = (byte[]) data.getExtras().getByteArray("data"); // I also use this but not work


        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        photo.compress(CompressFormat.JPEG, 100, bos);
        byte[] bitmapdata = bos.toByteArray();


    }
}

中,位图的照片是存在的,但压缩照片不是原始的。有些人说,改变压缩的质量字段(CompressFormat.JPEG,100,bos);在0到100之间,但是什么都不会发生。

-- >>还有其他方法来获取相机拍摄的原始照片吗?

-- >>,当照片在我的电脑文件夹中时,我通过给出路径来读取文件中的这张照片。文件文件=新文件(c:\newphoto\image.jpg);。因为我知道照片的名称和位置,所以我可以在android中使用这段代码来读取原始照片。如果是,那么在画廊中阅读照片的路径是什么?如果我给出路径为:\DCIM\Camera\photoName.jpg.,这是工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-28 07:25:17

您使用的是使用ACTION_IMAGE_CAPTURE捕获图像的意图。如果您通常使用意图启动相机,那么它将在onActivityResult()中以位图的形式返回图像,但它将用于缩略图。

如果您想从相机获得完整的分辨率图像,那么您应该提供一个文件,您的意图是启动相机活动。

你可以像下面这样做

代码语言:javascript
复制
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File out = Environment.getExternalStorageDirectory();
out = new File(out, imagename);
i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(out));
startActivityForResult(i, CAMERA_RESULT);

这里有一个MediaStore.EXTRA_OUTPUT参数,它接受文件的Uri,您希望相机在其中写入图像。

有关更多信息,请参阅下面的示例

Capture full resolution image from camera

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10779789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档