使用YuvImage从bitmao裁剪矩形区域会产生奇怪的结果

时间:2013-12-03 06:52:36

标签: android android-imageview crop yuv android-bitmap

我尝试使用YuvImage从Bitmap裁剪图像,如下所示:

        Bitmap bitmap=params[0];
        ByteArrayOutputStream bos=new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos);
        byte[] data=bos.toByteArray();
        //bos=null;
        YuvImage yuvImage=new YuvImage(data, ImageFormat.NV21, bitmap.getWidth(), bitmap.getHeight(),null);
        bos=new ByteArrayOutputStream();
        boolean isCropped=yuvImage.compressToJpeg(rect, 100, bos);
        if(isCropped)
            data=bos.toByteArray();
        bitmap=BitmapFactory.decodeByteArray(data, 0, data.length);
        return bitmap;

这会导致生成的图像Strange and scary...like an old Black and White TV

是否有替代方法可以在不使用Intent的情况下裁剪和保存图像。

1 个答案:

答案 0 :(得分:1)

您认为Bitmap.CompressFormat.JPEG为ImageFormat.NV21,不应为true。