Ios 阵列中的UIImage

Ios 阵列中的UIImage,ios,iphone,uiimage,Ios,Iphone,Uiimage,我正在使用一个API,该API为我提供了一个图像,如下例所示。我不确定如何将此值数组转换为图像。我以前从未见过这种情况 有人知道如何将以下值数组生成UIImage吗 [255216255224,0,16,74,70,73,70,0,1,1,1,0,96,…]看起来像是直像素缓冲区数据,因此您必须猜测格式(可能是RBGA?)和图像尺寸(希望它是固定的/可猜测的/包含在格式中)。如果您猜对了,您应该能够使用CGDataProviderCreateWithData创建CIImage CGDataPro

我正在使用一个API,该API为我提供了一个图像,如下例所示。我不确定如何将此值数组转换为图像。我以前从未见过这种情况

有人知道如何将以下值数组生成UIImage吗


[255216255224,0,16,74,70,73,70,0,1,1,1,0,96,…]

看起来像是直像素缓冲区数据,因此您必须猜测格式(可能是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);

如果它是公共API,那么请提及该API名称,以便有人为您提供正确的指导。或者提及API发送图像时使用的编码方法。很抱歉,我无法提供更多信息,但API不是公共的。我希望有人以前见过这样表示的图像。您似乎在响应中获得了NSData,您是否尝试过-[UIImage imageWithData:imageData];我认为如果它是NSData,返回值将以字节为单位,对吗?我不认为它是NSData。执行
[UIImage imageWithData:imageData]
操作时,应用程序将因
NSInvalidArgumentException
而崩溃。回答(以及问题中的数组)实际上只是一个整数数组,我需要解释它。我认为你是对的。我正在尝试创建一种方法,通过该方法传递
NSArray
和图像的大小。然后该方法返回
UIImage
。我不知道如何处理
NSArray
。您能告诉我如何将其与您发布的代码一起使用吗?以下是一个包含缓冲区创建的完整示例: