当前位置: 首页 > 知识库问答 >
问题:

相机意图导致预览画面质量非常低[重复]

袁谭三
2023-03-14

我有一个Android应用,可以打开相机拍照:

  Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  startActivityForResult(intent, PICTURE_RESULT);

如果它被称为相机是打开的,我可以拍照。但是点击“确定”或“取消”的预览质量已经很差了。

这很奇怪,因为这不是我的应用程序实现的。是否有任何参数可供配置,以提高相机的质量。

共有1个答案

曾明诚
2023-03-14

本例为im上传至firebase:

   @Override
protected void onActivityResult(int requestCode, int resultCode, Intent    data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == GALLERY_INTENT && resultCode == RESULT_OK){
        Uri uri = data.getData();
        progressDialog.setMessage(UPLOADING);
        progressDialog.show();
        StorageReference filePath = storageRef.child(STORAGE_FOLDER_NAME).child(recipeTitle.getText().toString());
        filePath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                Toast.makeText(CreateNewRecipeActivity.this, UPLOAD_COMPLETE, Toast.LENGTH_SHORT).show();
                progressDialog.dismiss();
            }
        });
    }
}

在这里我得到了完整的图像

Uri uri = data.getData();
 类似资料:
  • 我正在尝试使用摄像头将图像上传到firebase。但是,我得到的图像质量太低(不可读)。我已经编写了以下代码(没有编译错误)。但是,我不明白为什么它不能产生一个可读的图像。 我尝试过改变位图的质量参数。压缩,但图像质量保持不变。但同样的压缩代码适用于来自gallery的图像。

  • 我正在使用画布来修改我的图像。但是,我有一个问题。如果我使用options.inSamplesize=4;图像变得太小,质量下降。但是,如果我不给,它会从内存溢出并给出一个错误。 //位图缩放位图=位图。创建位图(原始1、0、0、宽度、高度、矩阵、真); 这是我当前的错误日志。 11-09 03:21:56.849 12345-12345/com.example.chkee.appfrontE/A

  • 我知道有很多这样的例子,但我还没有找到一个适用于7.0的可靠示例。我知道我设置的是图像的缩略图而不是原始图像,但我不确定如何获取它。 这是我的代码:

  • 我有一个问题。当我试图从相机上拍照时,质量很低。首先,使用摄像头捕捉图片,然后保存到目录中,同时获取图片并显示在我的应用程序中。保存在目录中的图片质量很好,但当我从目录中获取时,质量很低。下面是我的示例代码: 任何解决方案/建议?谢谢:) 解决了的 当我遵循下面Antrromet给出的代码时,问题解决了

  • 我已经开发了一个应用程序来拍摄一张照片并保存在画廊里。我在网上搜索过,我能练习的最简单的方法就是使用。下面是从相机上拍照的代码。注意,我在这个类中使用的是fragment。 获取捕获的图像并将其转换为字符串 我将字符串保存到全局变量中,以便其他活动可以访问它。在另一个活动中,我有一个按钮,通过访问图像字符串将图像保存到文件夹/图库中。 它可以将图像保存到文件夹/图库中......但是图像质量很低.

  • D/OpenGlRenderer:0x702565A400(RippleDrawable)上的endAllActiveAnimators,句柄0x701D23CC60 D/AndroidRuntime:正在关闭VM 致命异常:java.lang.IllegalStateException:指定的消息队列同步屏障令牌尚未发布或已被删除。在android.os.messagequee.removesy