3

Apple 的文档指出 Quartz2D 通常是线程安全的。但是,在 NSOperation 期间绘制到图像上下文时,我遇到了崩溃(EXC_BAD_ACCESS)。

这是我目前的设置:

UIGraphicsBeginImageContext(imageSize);
CGContextRef context = UIGraphicsGetCurrentContext();
// drawing code
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

我怀疑崩溃与当前上下文有关,因为 UIGraphicsGetCurrentContext 文档声明它需要从主线程调用。这个对吗?还有其他方法可以获取图像上下文吗?

4

2 回答 2

4

各种 UIGraphics 函数大多只是围绕低级函数的便捷方法。阅读 CGGraphicsContext 以及如何创建自己的;该文档非常有帮助。

于 2009-10-04T20:13:28.227 回答
3

你已经回答了你自己的问题。文档说你必须在主线程上调用 UIGraphicsGetCurrentContext() ,你没有这样做,你的应用程序崩溃了。QED。

于 2009-10-04T17:42:01.753 回答