0

奇妙なバイトから 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(最後まで)

空白の黒いフレームにする必要があります。

誰かがこれで何かを理解する方法を知っていますか?

4

1 に答える 1

0

これらの API を使用して、データ バイトから画像を取得する必要があります。

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

[data writeToFile:filePath アトミック:YES];

于 2012-10-19T10:56:52.513 に答える