【发布时间】:2014-02-13 14:16:47
【问题描述】:
我需要从相机获取预览并将其显示在 Imageview 上。 代码完成如下
public void onPreviewFrame(byte[] data, Camera camera){
yuvimage = new YuvImage(data, parameters.getPreviewFormat(), width, height, null);
yuvimage.compressToJpeg(new Rect(0,0,parameters.getPreviewSize().width,parameters.getPreviewSize().height), 90, outstr);
bmp = BitmapFactory.decodeByteArray(outstr.toByteArray(), 0, outstr.size());
camera.addCallbackBuffer(data);
}
此代码工作正常,如果 bmp 传递给 imageview,它在大多数设备上显示清晰的彩色图像,但在平板电脑上,它显示绿色/粉红色图像。
如果使用surfaceview直接显示预览,那么它会在所有设备上显示清晰的颜色预览..
任何建议表示赞赏..
【问题讨论】:
-
我不确定您所说的“清晰颜色”是什么意思。颜色是否从(例如)红色变为蓝色?您可以发布示例图像吗?另见stackoverflow.com/questions/13703596/…
标签: android image-processing android-camera android-ui