解决方案 »

  1.   

    是使用这个没错。
    Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length); 
    你还是看看其它原因吧。
      

  2.   


    Size previewSize = camera.getParameters()
    .getPreviewSize();//camera是onPreviewFrame参数提供
                BitmapFactory.Options newOpts = new BitmapFactory.Options();
    newOpts.inJustDecodeBounds = true; YuvImage yuvimage = new YuvImage(
                data,
                ImageFormat.NV21, 
                previewSize.width,
                previewSize.height, 
                null);//data是onPreviewFrame参数提供 ByteArrayOutputStream baos = new ByteArrayOutputStream();
    yuvimage.compressToJpeg(
    new Rect(0, 0, previewSize.width, previewSize.height),
    80,
    baos);// 80--JPG图片的质量[0-100],100最高

    byte[] rawImage =baos.toByteArray(); Bitmap bitmap = BitmapFactory.decodeByteArray(rawImage, 0,
    rawImage.length);
      

  3.   

    发错了……前面发的是onPreviewFrame                        if (data.length != 0)
    {

    BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 4;  //这里表示原来图片的1/4 Bitmap bitmap2 = BitmapFactory.decodeByteArray(data, 0, data.length,options);
    }