我试图从一些奇怪的字节构建一个NSImage。 我使用BlackMagic SDK来获取收到的帧的字节:
unsigned char* frame3 = NULL;
unsigned char* frame2 = (Byte*)malloc(699840);
videoFrame->GetBytes ( (void**)&frame3);
memcpy(frame2, frame3, 699840);
NSData* data = [NSData dataWithBytes:frame2 length:sizeof(frame2) ];
NSImage *image = [[NSImage alloc] initWithData:data];
//(till now i use statically 699840, because i know its size)
为什么我说字节很奇怪,“frame2”的内容如下所示:
printf("content: %s",frame2);
\ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 \ 200 ......... \ 200(到最后)
它应该是空白的黑框。
有人知道我怎么能弄清楚这个?
答案 0 :(得分:0)
您应该使用这些apis从数据字节中获取图像。
NSString * filePath = [yourDirectory stringByAppendingPathComponent:@“imageName.jpg”];
[data writeToFile:filePath atomically:YES];