嗨,我正在尝试理解CGColor,我已经做了很多关于Quartz2d的事情。在过去,我用UIColor xColor.CGColor来伪造它……但是使用这个新的编译器,当我指定颜色时,我会崩溃,例如UIColor redColor.CGColor是很好的,但是如果我自己煮UIColor颜色withRed: x Green:y etc.CGColor它就会崩溃。我不认为这是一个留住的问题,因为UIColor allocinitWithRed:].CGColor给了我同样的东西。我猜UIColor -> CGColor桥有点模糊,只针对预设颜色进行了硬编码,而不是转换。因此,我正在寻找一种RGB型CGColor方案,这样我就可以从一组值中重建颜色。我真的不关心它是0-1或1-255等,只是需要一个系统,我可以让我的头周围,如果有人可以扔给我一根骨头,我真的很感激它欢呼
发布于 2011-07-09 11:08:03
你可以用CGColorRef CGColorCreateGenericRGB(CGFloat红,CGFloat绿,CGFloat蓝,CGFloat alpha)来创建;
详情请访问:http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CGColor/Reference/reference.html
发布于 2011-07-09 11:05:42
我认为实际发生的情况是,你没有保留结果颜色,而是让UIColor自动释放。内置颜色(例如-redColor等)可能是永远存在的全局变量,但使用-colorWithRed:green:blue:alpha:创建的全局变量是按需创建并自动发布的。如果您从中取出CGColor,则CGColor的生命周期与UIColor的生命周期绑定在一起,因此,如果您要在当前堆栈之后保留CGColor,则需要对其执行CGColorRetain()操作(完成后再对其执行CGColorRelease()操作)。
https://stackoverflow.com/questions/6632432
复制相似问题