从线程画在屏幕上

时间:2011-05-30 22:50:53

标签: quartz-graphics

需要能够从除main之外的线程在屏幕上绘图。无法使用UIkit,因为它不是线程安全的。 Quartz 2D会在一个线程中工作吗?如果是这样,我如何进入屏幕放置图形?很明显,我是一个真正的新手与图形,任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

是Quartz可以在线程中工作。但是,您无法在其他线程中创建上下文。您必须从主线程传递上下文。我相信在-drawRect方法中创建一个CGContextRef并将其传递给线程。请注意上下文不要超出范围或仅保留其参考。

如何获得一个屏幕放置图形..好吧,因为我说你需要一些地方来创建一个上下文,可能是NSVIew的一些派生类。然后在-drawRect方法中创建一个上下文并将其传递给线程。

CGContextRef contextref =(CGContextRef)[[NSGraphicsContext currentContext] graphicsPort];

干杯!