如何从磁盘上的图像制作CGImageRef

Ale*_*der 6 iphone jpeg gif quartz-graphics cgimage

我到处寻找无济于事.我正在线程中进行一些图像加载,因为UIKit不是线程安全的,我将不得不将图像存储为CGImageRefs,但我无法弄清楚如何做到这一点.我之前没有使用任何Quartz的东西,所以这让我很困惑.基本上我只需要将磁盘中的JPG加载到CGImageRef中.同样对于奖励积分,无论如何将GIF加载到CGImageRef中?

Jer*_*nes 30

gcamp或多或少是正确的,你在后台线程上使用它是非常安全的,但是为了回答你的问题,我相信以下内容是可行的.

CGDataProviderRef dataProvider = CGDataProviderCreateWithFilename("file");
CGImageRef image = CGImageCreateWithPNGDataProvider(dataProvider, NULL, NO, kCGRenderingIntentDefault);
Run Code Online (Sandbox Code Playgroud)

jpg图像还有一个功能CGImageCreateWithJPEGDataProvider.

(完成后务必释放数据提供者和图像)


gca*_*amp 9

我认为最简单的方法是使用UIKit并使用CGImage适当的UIImage.

像这样的东西:

UIImage* image = [UIImage imageNamed:@"Your Image.png"];
CGImageRef imageRef = image.CGImage;
Run Code Online (Sandbox Code Playgroud)