0

以下の例のような画像を提供する API を使用しています。この値の配列を画像に変換する方法がわかりません。これは見たことがありません。

次の値の配列をUIImageにする方法を知っている人はいますか?

[255,216,255,224,0,16,74,70,73,70,0,1,1,1,0,96,...]

4

1 に答える 1

1

これはストレートピクセルバッファデータのように見えるので、フォーマット(おそらくRBGA?)と画像のサイズ(うまくいけば、固定/推測可能/フォーマットに含まれている)を推測する必要があります。正しく推測すると、CGDataProviderCreateWithDataを使用してCIImageを作成できるはずです。

CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, buffer, bufferLength, NULL);
//a reasonable guess
CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();
int bitsPerComponent = 8;
int bitsPerPixel = 32;
int bytesPerRow = 4 * width;

CGImageRef imageRef = CGImageCreate(width, height, bitsPerComponent, bitsPerPixel, bytesPerRow, colorSpaceRef, kCGBitmapByteOrderDefault, provider, NULL, NO, kCGRenderingIntentDefault);
UIImage *newUIImage = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef); 
CGDataProviderRelease(provider);
于 2012-04-16T07:52:03.853 に答える