我正在玩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属性。您可以看到青色是错误的(其中一种),而且大多数看起来都是一样的。深灰色表示蓝色。没有一个是整型的。
发布于 2012-03-07 02:05:03
这是当我手动将两个视图的颜色设置为问题中指定的值时得到的结果:

我的“正常”青色(51,187,200)在顶部,明亮的(85,255,255)在底部。但是根据颜色的外观,我的上色和你的下色是一样的。是否可能没有在正确的位置绘制样例,因此看到的是青色视图的背景?而其他的样本也同样画错了?
发布于 2012-03-07 01:18:59
你需要除以255,而不是256:
+ (UIColor *) cyanANSIColor
{
return [UIColor colorWithRed:51.0f / 255.0f
green:187.0f / 255.0f
blue:200.0f / 255.0f
alpha:1];
} 发布于 2012-03-07 01:43:18
您是否尝试过使用Quartz或OpenGL将每种颜色渲染到CGBitmapImageRep或OpenGL ES视图的子矩形,而不是使用视图的背景颜色?如果您不对正在使用的视图进行子类化,就不知道可能正在进行的其他绘图正在影响每个视图的颜色。
https://stackoverflow.com/questions/9588358
复制相似问题