Как я могу получить CGImageRef из файла?

Таким образом, я знаю, что можно получить a CGImage из файла с помощью UIImage...

UIImage *img = [UIImage imageNamed:@"name.bmp"];
[img CGImage];

Но, есть ли способ получить a CGImageRef не используя a UIImage?

(Я пробую это в статической библиотеке, которая не имеет доступа к UIKit), я мог использовать другие платформы при необходимости, просто не UIKit. Был бы CIImage работа? Или NSBitmapImageRep?

11
задан Ovi Tisler 10 May 2010 в 13:45
поделиться

1 ответ

Вы можете получить его из NSData:

CGDataProviderRef imgDataProvider = CGDataProviderCreateWithCFData((CFDataRef)[NSData dataWithContentsOfFile:@""]);
CGImageRef image = CGImageCreateWithPNGDataProvider(imgDataProvider, NULL, true, kCGRenderingIntentDefault); // Or JPEGDataProvider

Вы должны быть уверены, что данные были в формате JPEG или PNG, чтобы это работало.

21
ответ дан 3 December 2019 в 05:11
поделиться