我从图书馆收到一个回调,它给我一张640 * 480 * 4的原始图像R8G8B8A8
我确实将它复制到另一个缓冲区然后我尝试跳过第4个缓冲区,因为我的框架仅适用于R8G8B8
我尝试调试并查看变量d中的字节,但字节都是垃圾。
-(void)onRawImageBuffer:(NSData * _Nonnull)data withWidth:(int)width andHeight:(int)height andBytesPerPixel:(int)bytesPerPixel;
{
NSUInteger len = [data length];
memcpy(m_CopyData, [data bytes], len);
for(int i =0; i < 640*480*3;i++)
{
if ( i%4 == 3 )
continue;
else{
m_FrameData[i] = m_CopyData[i];
}
}
NSData* d = [NSData dataWithBytes:(const void *)m_FrameData length:640*480*3];
Input::SensorInput::getSingleton()->setVideoData( m_FrameData );
}
答案 0 :(得分:1)
width * height * 4
; m_FrameData
; bytesPerPixel
; continue;
仍然将i
提前一个,您必须使用两个索引;