【发布时间】:2012-03-06 17:03:26
【问题描述】:
我正在使用 ANSI 转义序列,但我在颜色方面遇到了困难。
我已经尝试过使用维基百科的 ANSI entry 中的几个调色板,但结果总是一样。我用
创建颜色[UIColor colorWithRed: green: blue: alpha];
结果与假定的颜色无关(我将它们中的每一个除以 256),它们中的大多数最终都相同。我相信 UIColor 是不够的,我应该使用 CGColorRef 来进行翻译。有什么建议吗?
上面的颜色是“常规颜色”,下面的颜色应该是较亮的八种颜色,但一切都搞砸了。
这就是我创建颜色的方式:
+ (UIColor *) cyanANSIColor
{
return [UIColor colorWithRed:51.0f/256.0f
green:187.0f/256.0f
blue:200.0f/256.0f
alpha:1.00f];
}
+ (UIColor *) brightCyanANSIColor
{
return [UIColor colorWithRed:85.0f/256.0f
green:255.0f/256.0f
blue:255.0f/256.0f
alpha:1.00f];
}
我通过它将它们分配给每个视图
backgroundColor
属性。你可以看到青色是错误的(其中一种),而且大部分看起来都一样。深灰色显示蓝色。而且没有一个是 int。
【问题讨论】:
-
UIColor 和 CGColorRef 的颜色值是从 0 到 1,而不是从 0 到 255。您是否尝试过除以 255?
-
那个方法行得通,还有其他问题。贴一些代码?截图?
-
你写的是
127.0/255还是127/255?后者总是给出 0。 -
您可能正在除以 2 个整数。尝试强制浮点除法。
-
您能否包含将其设置为特定视图的代码,包括您的 UIColor 方法,然后放置您获得的结果的图像,以及您期望的颜色(如果可能)?目前没有什么可做的,如果你的数字是正确的,它应该可以工作(除了除以 255,而不是 256)并且你的问题在其他地方。
标签: iphone objective-c ansi