【发布时间】:2011-03-21 06:36:46
【问题描述】:
我正在使用相机的 previewCallback 来尝试抓取图像。这是我正在使用的代码
private Camera.PreviewCallback mPrevCallback = new Camera.PreviewCallback()
{
public void onPreviewFrame( byte[] data, Camera Cam ) {
Log.d("CombineTestActivity", "Preview started");
Log.d("CombineTestActivity", "Data length = "
+ data.length );
currentprev = BitmapFactory.decodeByteArray( data, 0,
data.length );
if( currentprev == null )
Log.d("CombineTestActivity", "currentprev is null" );
Log.d("CombineTestActivity", "Preview Finished" );
}
};
数据的长度总是与576000相同。
我还尝试更改相机的参数,以便图像以不同的格式返回。这是我这样做时的样子。
mCamera = Camera.open();
camParam = mCamera.getParameters();
camParam.setPreviewFormat( ImageFormat.RGB_565 );
mCamera.setParameters( camParam );
mCamera.setPreviewCallback( mPrevCallback );
但是,当我更改预览格式以及将其保留为 NV21 的默认值时,BitmapFactory.decodeByteArray 返回为空。我还尝试将预览格式更改为 JPEG 类型。我什至在 ddms 中得到了一个调试语句,这就是我得到的
“D/skia (14391): --- SkImageDecoder::Factory 返回 null”
【问题讨论】:
-
我返回并单击了我在这里得到的一些答案旁边的复选标记。感谢您的信息
标签: java android image format camera