从字节构建NSImage

时间:2012-10-19 10:30:38

标签: objective-c macos

我试图从一些奇怪的字节构建一个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(到最后)

它应该是空白的黑框。

有人知道我怎么能弄清楚这个?

1 个答案:

答案 0 :(得分:0)

您应该使用这些apis从数据字节中获取图像。

NSString * filePath = [yourDirectory stringByAppendingPathComponent:@“imageName.jpg”];

[data writeToFile:filePath atomically:YES];