解决方案 »

  1.   

    先调用
    android.hardware.Camera.Parameters.getSupportedPictureFormats()
    看看都支持什么格式的picture format。BitmapFactory.decodeByteArray得到的Bitmap,其format是Bitmap的format,而不是你保存的文件的format。
    Bitmap常见的format一般都是argb8888或者rgb565
      

  2.   

    ls说的对。
    记得camera参数不是随便设的,要先看支持什么,然后再从中选择。
      

  3.   


    谢谢,被api说明迷惑了,还是应该get一下试试,前面的问题明白了。
    后面的有点不理解,decodeByteArray得到的Bitmap format跟保存的文件的format不是一回事吗?
      

  4.   

    如果decode出来的是bmp格式,那么前面setPictureFormat岂不是没用?
    没道理啊
      

  5.   

    Camera.Parameters parameters = camera.getParameters();
    parameters.setPictureFormat(ImageFormat.JPEG);
      

  6.   

    Bitmap都是类似bmp的格式的,
    setPictureFormat的格式,是在调用takePicture的时候,
    PictureCallback.onPictureTaken(byte[], Camera)的回调格式,运来存储的。