拍出来的图片不清晰

来源:3-5 Android自定义相机之基本功能梳理

qq_wickedmonste_0

2016-06-21 17:19

拍出来的和图片不一样

写回答 关注

2回答

  • xzhang76
    2018-02-01 15:39:12

    首先,这个问题和楼上的说法没有任何关系。

    这个问题归根结底是由于不同android rom兼容性导致的问题,解决思路也要从兼容性着手。

    当自己调用camera实现拍照的时候,有一个picture size的设置,就是拍照生成图片的宽和高。如果自己没有指定,android系统会自己默认给你一个picture size,不同android rom的差异性导致了有些默认size是很小的(最低的size)。

    所以,解决方法就是在拍照的时候指定自己想要的picture size。通常的做法是先找到系统camera所支持的所有picture size,然后找一个自己想要的(规则自己定)。具体如下:

    Parameters params = mCamera.getParameters();
    List<Camera.Size> supportedSize = parameters.getSupportedPictureSizes();
    
    Camera.Size optimalPictureSize = ...; // 遍历所有的size从中找一个自己想要的
    parameters.setPictureSize(optimalPictureSize.width, optimalPictureSize.height);

    如果图片模糊不清晰就可以指定大的size。

  • 繁华落尽终成梦
    2016-06-21 20:08:34

    看看有没有漏掉这几行代码


    /**
    * 解决拍照后图像与实际情况不同的问题
    */
    try {
       FileInputStream fis=new FileInputStream(path);
       Bitmap bitmap= BitmapFactory.decodeFile(path);
       Matrix matrix=new Matrix();
       matrix.setRotate(90);
       bitmap=Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
       imageView.setImageBitmap(bitmap);
    } catch (FileNotFoundException e) {
       e.printStackTrace();
    }


Android摄像头基础

带你走进Android摄像头的秘密花园,探索Camera的奥秘

44961 学习 · 136 问题

查看课程

相似问题