从 UIColor 中提取 RGB
以前见过这个问题,但我的例子似乎不起作用。
const CGFloat *toCol = CGColorGetComponents([[UIColor greenColor] CGColor]);
用 GDB 查看数组是空的。 有什么提示吗?
Seen this asked before but my example does not seem to work.
const CGFloat *toCol = CGColorGetComponents([[UIColor greenColor] CGColor]);
The array is empty from looking at it with GDB. Any hints?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您提供的代码示例应该可以工作。
尝试这个:
The code sample you provided should work.
Try this:
在 iOS 5 中你可以使用:
In iOS 5 you could use:
这是一个全面的解决方案,还考虑了非 RGB 颜色,例如 [UIColor blackColor]
Here's an all round solution that also takes into account non-RGB colours e.g. [UIColor blackColor]
只需使用 memcpy:
Just use memcpy:
感谢威尔斯特的指导。 对于任何使用灰度颜色(使用
colorWithWhite:alpha:
创建)的人来说,下面的代码示例将让您计算出白色值(HSV 方法不适用于以这种方式创建的颜色) )。Thanks for the direction Willster. For any out there who are using grayscale color (created with
colorWithWhite:alpha:
), the code sample below will let you figure out the white value (the HSV method doesn't work on colors created this way).查看 uicolor-utilities。 似乎是一个非常好的库,可以使用 UIColor 执行此操作以及许多其他有用的操作。 例如,使用这个库你可以编写:
Checkout uicolor-utilities. Seems like a very good library for doing this and many other useful things with UIColor. For example, with this library you could write: