mar*_*ram 13 iphone core-graphics uikit ios
这可能是一个非常愚蠢的问题,但有人可以告诉我使用UIGraphicsBeginImageContext创建CGContextRef和使用CGBitmapContextCreate绘制图像之间的区别吗?特别是现在因为UIKit绘图是线程安全的,我想知道是否有任何理由使用CGBitmapContextCreate而不是UIGraphicsBeginImageContext.
Tom*_*mmy 10
根据Apple的UIKit功能参考,其中包含2010年11月15日的封面日期,UIGraphicsBeginImageContext相关功能仍应仅在主线程上调用.最新的Xcode 3.2.5附带的开发人员文档中重复了相同的文本.但是,它报告了UIGraphicsGetCurrentContext我现在明确理解为线程安全的相同内容.我的理解是,只有UIGraphicsGetCurrentContextUIImage,UIColor和UIFont类现在是线程安全的而不是整个UIKit,但我无法找到明确的参考.
无论如何,UIGraphicsBeginImageContextUIKit封装器位于顶部CGBitmapContextCreate并降低其功能.特别是您只能使用具有固定组件顺序的RGBA色彩空间图像(尽管它根据iOS版本而有所不同),并且无法为绘图指定自己的目标缓冲区.因此,例如,对于一堆CoreGraphics组合,然后将结果发布到OpenGL并且无法用于将已经以某种数组形式输入到CoreGraphics中的图形进行管理,这是没用的.
但是,如果UIKit方法支持您需要的功能并且使用安全,则CoreGraphics方法没有固有的优势.
| 归档时间: | 
 | 
| 查看次数: | 7692 次 | 
| 最近记录: |