从相机获取完整质量的图像

阳刚之气

当我用相机拍照时,我想在ImageView中显示此图像时,我正在遵循下一个方法:

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

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
        case PICK_IMAGE_REQUEST_FRAG:
            if (resultCode == getActivity().RESULT_OK && data != null) {

                Bitmap srcBmp = (Bitmap) data.getExtras().get("data");

                ... (process image to scale size and rotate if necesary)

                pic_view.setImageBitmap(srcBmp);
            }
    }
}

我正在获取图像并将其正确显示在ImageView中,但是我意识到获得的图像质量很低。经过一些研究,我发现用这种方法获得的图像是所拍摄图像的缩略图。所以我根据其他SO帖子中的一些指示修改了此代码:

String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFilePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "Pictures/timeStamp.jpg";
takenPicUri = Uri.fromFile(new File(imageFilePath));
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, takenPicUri);
startActivityForResult(intent, TAKE_PHOTO_REQUEST_FRAG);

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
        case PICK_IMAGE_REQUEST_FRAG:
            if (resultCode == getActivity().RESULT_OK && data != null) {

                Bitmap srcBmp = BitmapFactory.decodeStream(getActivity().getContentResolver().openInputStream(uri), null, null);

                ... (process image to scale size and rotate if necesary)

                pic_view.setImageBitmap(srcBmp);
            }
    }
}

但是现在,该图像没有显示在ImageView(pic_view)中。在其他帖子中,我读过人们报告说此方法对他们有用,但对我不起作用。我忘记了什么或做错了什么?

阳刚之气

好吧,我在以前的帖子中读到,这样做的方式可能会引起麻烦,因为存在与此相关的一些错误,但这是我实现它的唯一途径。

就这么简单:

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

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
        case PICK_IMAGE_REQUEST_FRAG:
            if (resultCode == getActivity().RESULT_OK && data != null) {

                Uri selectedImageUri = data.getData();
                Bitmap srcBmp = BitmapFactory.decodeStream(getActivity().getContentResolver().openInputStream(uri), null, null);

                ... (process image to scale size and rotate if necesary)

                pic_view.setImageBitmap(srcBmp);
            }
    }
}

这种方式适用于android 5.0和4.4.4。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在ImageView中从相机放映中获取图像而又不损失其在Android中的质量?

来自分类Dev

AVFoundation相机的图像质量在处理后下降

来自分类Dev

获取相机的图像流

来自分类Dev

如何从相机获取图像

来自分类Dev

在Qt4中从相机渲染图像时质量很差

来自分类Dev

Android Gallery意图:如何获取和设置原始尺寸的,完整尺寸和高质量而不是缩略图的裁剪图像?

来自分类Dev

当我从相机捕获图像时,图像质量下降了吗?该怎么办?

来自分类Dev

相机的UIImagePickerController:获取包含位置数据的图像

来自分类Dev

从相机,SurfaceView或SurfaceHolder连续获取图像数据

来自分类Dev

相机的UIImagePickerController:获取包含位置数据的图像

来自分类Dev

使用Python获取图像的相机模型信息

来自分类Dev

无法从服务器获取完整图像

来自分类Dev

无法从base64字符串获得完整图像质量

来自分类Dev

获取完整的经过质量检验的TfLite模型,以及int8上的in-和输出

来自分类Dev

图像未占用完整的div空间以获取圆形图像

来自分类Dev

使用PHP从完整图像路径获取图像名称

来自分类Dev

离子电容相机,生成高质量图像并显示它,而无需生成Base64和DataUri

来自分类Dev

iOS:从相机胶卷中获取最后一张图像

来自分类Dev

如何使用Photos Framework获取相机胶卷中的图像

来自分类Dev

从相机获取图像时,布局getHeight()和getWidth()返回0

来自分类Dev

使用相机意图在Android中获取捕获图像的路径

来自分类Dev

从相机,Android捕获图像时获取nullpointer异常?

来自分类Dev

在相机胶卷中获取特定图像/照片的EXIF数据

来自分类Dev

使用UIImagePickerController从iPhone相机获取图像路径return nil

来自分类Dev

iOS:从相机胶卷中获取最后一张图像

来自分类Dev

Android MVP(存储库模式)获取相机/图库图像?

来自分类Dev

tabBarItem图像质量不佳

来自分类Dev

图像质量下降

来自分类Dev

MATLAB 降低图像质量

Related 相关文章

  1. 1

    如何在ImageView中从相机放映中获取图像而又不损失其在Android中的质量?

  2. 2

    AVFoundation相机的图像质量在处理后下降

  3. 3

    获取相机的图像流

  4. 4

    如何从相机获取图像

  5. 5

    在Qt4中从相机渲染图像时质量很差

  6. 6

    Android Gallery意图:如何获取和设置原始尺寸的,完整尺寸和高质量而不是缩略图的裁剪图像?

  7. 7

    当我从相机捕获图像时,图像质量下降了吗?该怎么办?

  8. 8

    相机的UIImagePickerController:获取包含位置数据的图像

  9. 9

    从相机,SurfaceView或SurfaceHolder连续获取图像数据

  10. 10

    相机的UIImagePickerController:获取包含位置数据的图像

  11. 11

    使用Python获取图像的相机模型信息

  12. 12

    无法从服务器获取完整图像

  13. 13

    无法从base64字符串获得完整图像质量

  14. 14

    获取完整的经过质量检验的TfLite模型,以及int8上的in-和输出

  15. 15

    图像未占用完整的div空间以获取圆形图像

  16. 16

    使用PHP从完整图像路径获取图像名称

  17. 17

    离子电容相机,生成高质量图像并显示它,而无需生成Base64和DataUri

  18. 18

    iOS:从相机胶卷中获取最后一张图像

  19. 19

    如何使用Photos Framework获取相机胶卷中的图像

  20. 20

    从相机获取图像时,布局getHeight()和getWidth()返回0

  21. 21

    使用相机意图在Android中获取捕获图像的路径

  22. 22

    从相机,Android捕获图像时获取nullpointer异常?

  23. 23

    在相机胶卷中获取特定图像/照片的EXIF数据

  24. 24

    使用UIImagePickerController从iPhone相机获取图像路径return nil

  25. 25

    iOS:从相机胶卷中获取最后一张图像

  26. 26

    Android MVP(存储库模式)获取相机/图库图像?

  27. 27

    tabBarItem图像质量不佳

  28. 28

    图像质量下降

  29. 29

    MATLAB 降低图像质量

热门标签

归档