首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone中的8位颜色

iPhone中的8位颜色
EN

Stack Overflow用户
提问于 2012-03-07 01:03:27
回答 3查看 247关注 0票数 0

我正在玩ANSI转义序列,我在处理颜色时遇到了困难。

我试过几个来自维基百科的ANSI entry的调色板,结果总是一样的。我用来创建颜色

代码语言:javascript
复制
[UIColor colorWithRed: green: blue: alpha];

结果与假设的颜色无关(我将每种颜色除以256),大多数颜色最终都是一样的。我认为UIColor是不够的,我应该使用CGColorRef来进行翻译。有什么建议吗?

上面的颜色是“常规颜色”,下面的颜色应该是较亮的八色,但一切都搞乱了。

下面是我创建颜色的方法:

代码语言:javascript
复制
+ (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];
}

我把它们分配给每个视图

代码语言:javascript
复制
backgroundColor

属性。您可以看到青色是错误的(其中一种),而且大多数看起来都是一样的。深灰色表示蓝色。没有一个是整型的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-07 02:05:03

这是当我手动将两个视图的颜色设置为问题中指定的值时得到的结果:

我的“正常”青色(51,187,200)在顶部,明亮的(85,255,255)在底部。但是根据颜色的外观,我的上色和你的下色是一样的。是否可能没有在正确的位置绘制样例,因此看到的是青色视图的背景?而其他的样本也同样画错了?

票数 2
EN

Stack Overflow用户

发布于 2012-03-07 01:18:59

你需要除以255,而不是256:

代码语言:javascript
复制
+ (UIColor *) cyanANSIColor
{
    return [UIColor colorWithRed:51.0f / 255.0f 
                           green:187.0f / 255.0f
                            blue:200.0f / 255.0f
                           alpha:1];
} 
票数 2
EN

Stack Overflow用户

发布于 2012-03-07 01:43:18

您是否尝试过使用Quartz或OpenGL将每种颜色渲染到CGBitmapImageRep或OpenGL ES视图的子矩形,而不是使用视图的背景颜色?如果您不对正在使用的视图进行子类化,就不知道可能正在进行的其他绘图正在影响每个视图的颜色。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9588358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档