rgb原始数据转为uiimage

来源:互联网 发布:下载淘宝网app 编辑:程序博客网 时间:2024/05/20 18:51
1、
- (UIImage*)imageFromRGB565:(void*)rawData width:(int)width height:(int)height{    const size_t bufferLength = width * height * 2;    NSData *data = [NSData dataWithBytes:rawData length:bufferLength];        CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();    CGDataProviderRef provider = CGDataProviderCreateWithCFData((CFDataRef)data);        // Creating CGImage from cv::Mat    CGImageRef imageRef = CGImageCreate(width,          //width                                        height,         //height                                        5,              //bits per component                                        16,             //bits per pixel                                        width * 2,      //bytesPerRow                                        colorSpace,     //colorspace                                        kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder16Little,// bitmap info                                        provider,               //CGDataProviderRef                                        NULL,                   //decode                                        false,                  //should interpolate                                        kCGRenderingIntentDefault   //intent                                        );        // Getting UIImage from CGImage    UIImage *finalImage = [UIImage imageWithCGImage:imageRef];    CGImageRelease(imageRef);    CGDataProviderRelease(provider);    CGColorSpaceRelease(colorSpace);        return finalImage;}
2、

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

    CGContextRef newContext = CGBitmapContextCreate(rgbbuffer,

                                                    width, height, 8,

                                                    width * bytes_per_pix,

                                                    colorSpace, kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst);

    CGImageRef frame = CGBitmapContextCreateImage(newContext);

    self.imageview.image = [UIImage imageWithCGImage:frame];

    CGImageRelease(frame);

    CGContextRelease(newContext);

    CGColorSpaceRelease(colorSpace);

0 0
原创粉丝点击