当我在 camera.setPreviewCallback 上运行以下代码时,我得到一个静态图像。如何让 ImageView (iv) 正确显示?我需要在这里发布更多代码吗?请温柔一点,因为这是我在 stackoverflow 上的第一篇文章——而且,是的,我搜索了又搜索,但没有找到任何东西,所以如果你找到了已经提出问题的东西,在此先感谢。
YuvImage yuvImage = new YuvImage(data, ImageFormat.NV21, 300, 300, null);
ByteArrayOutputStream out = new ByteArrayOutputStream();
yuvImage.compressToJpeg(new Rect(0,0,300,300), 0, out);
byte[] imageBytes = out.toByteArray();
bitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
iv.setImageBitmap(bitmap);
哦,是的,ViewPort 是 300x300。
我什至试过这段代码:
int[] imageBytes = convertYUV420_NV21toRGB8888(data, 300, 300);
bitmap = Bitmap.createBitmap(300, 300, Bitmap.Config.ARGB_8888);
bitmap.setPixels(imageBytes, 0, 300, 0, 0, 300, 300);
它使用stackoverflow上的功能之一。