jjzjj

iOS:颜色术语和理论

coder 2024-01-25 原文

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

8 年前关闭。




Improve this question




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

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值是(某某)......”等等。

我希望你知道我的意思。

再次使用上面的示例代码,我们如何正确描述 lightGrayColor 之间的区别?和 darkGrayColor按照:

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

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

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

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

5.) RGB

如果您能用文字解释和 iOS 中的一些代码向我描述以上内容,根据上述术语(色调、亮度、强度)描述上述颜色(浅灰色和深灰色)之间的差异,我将不胜感激、亮度、rgb 等),以便我可以快速掌握这些术语的一般含义,就颜色而言。首先十分感谢。

最佳答案

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

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

SO 格式中有太多细节需要描述(或者至少我不知道如何描述)。但是,总而言之,为了让您入门,这些颜色模型是:

红绿蓝相加(加 alpha channel )

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

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

青色-洋红色-黄色-开尔文减色法(加 alpha channel )

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

与 RGB 一样,该色彩空间也支持具有多种混合模式的 alpha channel 。

色相饱和度亮度

是的另一个颜色模型。

灰度

仅允许操纵亮度,而没有色调或饱和度属性。

iOS 色彩空间

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

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

关于iOS:颜色术语和理论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19779842/

有关iOS:颜色术语和理论的更多相关文章

  1. ruby - 在没有 sass 引擎的情况下使用 sass 颜色函数 - 2

    我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re

  2. ruby - 如何验证 IO.copy_stream 是否成功 - 2

    这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下

  3. Ruby 文件 IO 定界符? - 2

    我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的

  4. ruby 诅咒颜色 - 2

    如何使用Ruby的默认Curses库获取颜色?所以像这样:puts"\e[0m\e[30;47mtest\e[0m"效果很好。在浅灰色背景上呈现漂亮的黑色。但是这个:#!/usr/bin/envrubyrequire'curses'Curses.noecho#donotshowtypedkeysCurses.init_screenCurses.stdscr.keypad(true)#enablearrowkeys(forpageup/down)Curses.stdscr.nodelay=1Curses.clearCurses.setpos(0,0)Curses.addstr"Hello

  5. ruby - Rails 3 的 RGB 颜色选择器 - 2

    状态:我正在构建一个应用程序,其中需要一个可供用户选择颜色的字段,该字段将包含RGB颜色代码字符串。我已经测试了一个看起来很漂亮但效果不佳的。它是“挑剔的颜色”,并托管在此存储库中:https://github.com/Astorsoft/picky-color.在这里我打开一个关于它的一些问题的问题。问题:请建议我在Rails3应用程序中使用一些颜色选择器。 最佳答案 也许页面上的列表jQueryUIDevelopment:ColorPicker为您提供开箱即用的产品。原因是jQuery现在包含在Rails3应用程序中,因此使用基

  6. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

  7. ruby - 为什么不能使用类IO的实例方法noecho? - 2

    print"Enteryourpassword:"pass=STDIN.noecho(&:gets)puts"Yourpasswordis#{pass}!"输出:Enteryourpassword:input.rb:2:in`':undefinedmethod`noecho'for#>(NoMethodError) 最佳答案 一开始require'io/console'后来的Ruby1.9.3 关于ruby-为什么不能使用类IO的实例方法noecho?,我们在StackOverflow上

  8. ruby - 如何使用 Ruby 基于字母数字字符串生成颜色? - 2

    我想要像“嘿那里”这样的东西变成,例如,#316583。我希望将任意长度的字符串“归结”为十六进制颜色。我不知道从哪里开始。我在想,每个字符串的MD5散列都是不同的-但如何将该散列转换为十六进制颜色数字? 最佳答案 你可以只取几位前几位:require'digest/md5'color=Digest::MD5.hexdigest('Mytext')[0..5] 关于ruby-如何使用Ruby基于字母数字字符串生成颜色?,我们在StackOverflow上找到一个类似的问题:

  9. HarmonyOS原子化服务开发相关术语 - 2

    术语中文解释Ability原子化服务帮助用户完成任务的原子化服务,和用户的意图进行关联。Fulfillment服务履行通过图标,卡片,语音等形式呈现用户意图。开发者通过接口的方式,处理用户意图,返回内容。Intent意图用于表达用户想要达成的目标或完成的任务。HUAWEIAssistant智能助手“无微不智”的个人助手,通过不断的学习用户的使用习惯,不断的为用户提供贴心的精准的便捷的个性化服务。AISearch全局搜索用户可快速搜索关键词,与之匹配的原子化服务则会出现在搜索结果中。SmartService智慧服务用户订阅原子化服务,在到达特定触发条件(时间、地点、事件)后,卡片推送至用户智能助

  10. ruby - 为 IO::popen 拯救 "command not found" - 2

    当我将IO::popen与不存在的命令一起使用时,我在屏幕上打印了一条错误消息:irb>IO.popen"fakefake"#=>#irb>(irb):1:commandnotfound:fakefake有什么方法可以捕获此错误,以便我可以在脚本中进行检查? 最佳答案 是:升级到ruby​​1.9。如果您在1.9中运行它,则会引发Errno::ENOENT,您将能够拯救它。(编辑)这是在1.8中的一种hackish方式:error=IO.pipe$stderr.reopenerror[1]pipe=IO.popen'qwe'#

随机推荐