【问题标题】:iOS: Color Terms and Theory [closed]iOS:颜色术语和理论 [关闭]
【发布时间】:2013-11-15 18:53:22
【问题描述】:

我写了以下内容并在我的模拟器上运行它只是为了好玩,同时喝一杯晚上的咖啡;它只是从浅灰色变为深灰色,然后永远变回来。

self.view.layer.backgroundColor = [UIColor lightGrayColor].CGColor;

[UIView animateWithDuration:3.0f delay:0.0f options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionRepeat animations:^
    {
        [UIView setAnimationRepeatAutoreverses:YES];
        [UIView setAnimationRepeatCount:HUGE_VAL];
        self.view.layer.backgroundColor = [UIColor darkGrayColor].CGColor;
    }
    completion:^(BOOL finished)
    {
    }];

我知道这很幼稚,但正如我所说,我这样做只是为了好玩,以便在休息和喝咖啡的时候盯着看。

如果不是我的小表弟走过来看着我的模拟器说:“光!”,“没有光!”,我什至不会想到深入挖掘。

我说:“不,更亮,然后更暗”。

然后我的问题就来了:

我们如何正确描述颜色变化?

使用上面的例子,我们怎么能:

1.) 描述从一种颜色到另一种颜色的变化(比如说从“较浅”到“较深”的颜色)和一般颜色的色调、亮度、亮度、黑暗、RGB、强度。

我在这里可能是错的,但也许当我们说“这个颜色更深”并且在计算机术语中,它可能应该被不同地描述为(例如:)“这种颜色的强度比另一种更强,它的 R 是更大,它的G是(某某),B值是(某某).....”等等。

我希望你明白我的意思。

再次使用上面的示例代码,我们如何正确描述lightGrayColordarkGrayColor 之间的区别:

1.) 亮度(就计算机图像而言,亮度实际上是多少?这是否意味着它在“较暗”像素之间偶尔会有更多“白色”像素,因此看起来“更亮”?)

2.) 亮度 (如果它是一个灯泡,我会理解,但就计算机图像而言,由于它本身不是光源,那么根据计算机图像定义光度的定义是什么?根据图像中的颜色定义光度的定义是什么? )

3.) 色调(有些人称之为纯色,有些人称之为阴影/色调)

4.) 强度(好吧,对于人眼来说,大多数人会说“如果它更暗,它就会更强烈。” 但这真的是用计算机图像/色彩理论来描述的正确方式吗?)

5.) RGB

如果您能用文字解释和 iOS 中的一些代码向我描述上述内容,以根据上述术语(色调,光度、强度、亮度、RGB 等),这样我就可以快速掌握这些术语在颜色方面的一般含义。提前非常感谢。

【问题讨论】:

  • 这似乎离题了,虽然我不知道为什么。
  • 不要认为它与 SO 相关,但是,对于 RGB 中的 lightGray 到 darkGray,简化事情,灰色是一种颜色,其中有相同数量的红色、绿色和蓝色,去白色到黑色。因此,如果您增加或减少这些值,您将选择白色(浅色)或黑色(深色)。
  • 这个问题似乎是题外话,因为它是关于色彩科学而不是代码。

标签: ios image-processing colors rgb color-theory


【解决方案1】:

Quartz2D Programming Guide 详细介绍了核心图形系统支持的各种颜色模型。

最重要的细节是理论上任何可以用 RGB 模型表示的颜色也可以用 CMYK 或 HSB 表示。存在各种颜色模型,以便更容易在不同场景中概念化颜色,以及使用给定渲染设备的特性。

用 SO 格式描述的细节太多了(或者至少我不知道该怎么做)。但是,总而言之,为了让您入门,这些颜色模型是:

红绿蓝添加剂(加 alpha 通道)

加法是指从黑色开始,将原色累加成纯白色。这是背光设备的典型色彩空间。有 2n 种可能的颜色,其中 n = 位数。

也可以有一个 Alpha 通道,当一种颜色被绘制在另一种颜色之上时,它们计算颜色的方式取决于混合模式,其中有很多。

青色-品红色-黄色-开尔文减色法(加 Alpha 通道)

减色法意味着从白色开始,去除原色,直到变成黑色。这是打印设备的典型色彩空间。由于印刷技术,在实践中这会导致深紫色,因此添加了“开尔文”一种额外的黑色墨水来纠正这种情况。

与 RGB 一样,此颜色空间也支持具有多种混合模式的 alpha 通道。

色相-饱和度-亮度

是的另一种颜色模型。

灰度

只允许控制亮度,没有色调或饱和度属性。

iOS 色彩空间

Quartz2D 系统允许您指定任何可用的绘图颜色空间,但在 iOS 上,您仅限于支持的设备颜色空间数组。 (AFAIK 有一个用于屏幕,一个用于打印和一个灰度)。

有关更多详细信息,请查阅完整的 Quartz2D 指南 - 它当然值得一读,而且与某些 Apple 文档不同,它并不那么枯燥(例如,您可以一边喝咖啡,一边在 iPad 上阅读它;))。为此,有一个可用的 PDF 版本here

【讨论】:

  • @Unheilig,我可以理解,通过将 SO 保持在主题上,它增加了每个人的价值,但在这种情况下,我认为您的问题仍然 100% 与图形编程相关。 . (也许不是咖啡部分——习惯上完全跳过这里的任何寒暄,但话说回来,每个人都知道编程和咖啡可以追溯到很久以前)。 . .不要太难。这是个好问题。
猜你喜欢
  • 2011-08-18
  • 2014-08-28
  • 1970-01-01
  • 2020-10-28
  • 1970-01-01
  • 2010-11-12
  • 2021-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多