我四处张望无济于事。我正在一个线程中进行一些图像加载,并且由于 UIKit 不是线程安全的,我将不得不将图像存储为 CGImageRefs 但我不知道如何做到这一点。我以前没有玩过任何 Quartz 的东西,所以这让我很困惑。基本上我只需要将磁盘中的 JPG 加载到 CGImageRef 中。同样对于奖励积分,是否有将 GIF 加载到 CGImageRef 中?
问问题
15835 次
2 回答
30
gcamp 或多或少是正确的,在后台线程上使用它是非常安全的,但是要回答您的问题,我相信以下方法会起作用。
CGDataProviderRef dataProvider = CGDataProviderCreateWithFilename("file");
CGImageRef image = CGImageCreateWithPNGDataProvider(dataProvider, NULL, NO, kCGRenderingIntentDefault);
还有一个用于 jpg 图像的功能,CGImageCreateWithJPEGDataProvider
.
(完成后一定要释放数据提供者和图像)
于 2010-08-23T18:45:28.347 回答
9
我认为最简单的方法是使用 UIKit 并CGImage
使用UIImage
.
类似的东西:
UIImage* image = [UIImage imageNamed:@"Your Image.png"];
CGImageRef imageRef = image.CGImage;
于 2010-08-23T18:01:40.307 回答