Questions tagged «color»

涉及处理色彩的挑战。它既可以用于图形输出,也可以用于颜色代码。

10
HSL到RGB值
RGB(红色绿色蓝色)颜色模型的主要目的是用于感测,表示和显示电子系统(例如电视和计算机)中的图像 HSL(色相饱和度亮度)是一种替代颜色模型,由计算机图形学研究人员在1970年代设计,可以更紧密地与人类视觉感知色彩属性的方式保持一致。 这是RGB和HSL的Wiki文章。图形程序通常在HSL中进行计算,然后转换为大多数屏幕的首选格式:RGB。 任务是编写一个将HSL作为输入并输出RGB的函数/程序。 您可以选择I / O的首选表示形式,只要它们之间是一致的即可。 例如,它们可以是具有3个元素的数组/元组,也可以是具有3个名为h,s和的属性的对象l,但是我将接受其他巧妙的变化,例如将hsl作为整数接收(丢失精度)并输出rgb整数。 可以认为输入的范围和格式是安全的,您都可以决定两者。我强烈建议该范围,0-1 0-1 0-1或者0-360 0-100 0-100对于hsl,0-1 0-1 0-1或者0-255 0-255 0-255对于rgb。 每个答案都必须同时指定以上两者,并且如果您对它们特别满意,请在答案中放入各种变化形式,即使它们的字符数少于其他变体形式也是如此。将最小的放在上面。 伪测试用例0-360 0-100 0-100→0-255 0-255 0-255 h s l → r g b 0 0 0 → 0 0 0 90 56 17 → 43 68 19 202 19 39 → 81 104 …

21
空缺还是没有空缺?
我们都看到过汽车旅馆的迹象,告诉我们是否有空房: 通常,这些将永久点亮VACANCY的字母,并且如果汽车旅馆中没有任何房间,则点亮NO的字母。 挑战 美国的汽车旅馆平均有200间客房。 您将编写一个程序/函数,它以整数T(对于已占用房间)为唯一输入。 然后,您的程序将显示单词NO VACANCY。的字母VACANCY将以红色打印。 如果Ť ≥200的字母NO也将在红色打印。 例如,假设a.out您的程序是“ input” =命令行参数:(我打错了字,系统忽略了大小写。) 规则 您的程序/函数必须显示(或返回 lambda )确切的字符串NO VACANCY(包括大小写)。 您的程序/功能只能将文本前景色设置为红色,而不是背景。 如果愿意,可以使用ANSI转义码来打印红色- \x1b[31m可以使用。 完成后,您的程序/功能可能不会更改外壳的文本颜色。 您的程序/功能必须正常终止。 您的程序/功能必须仅打印到标准输出。 您的程序/功能必须使用外壳程序/终端/ IDE的默认背景色。(如果选择具有图形输出,则可以选择任意颜色,红色除外)。 如果牛逼 ≤200,中的字母NO必须在你的shell /终端/ IDE的默认前景色打印。(如果选择具有图形输出,则可以再次选择所需的任何颜色) 如果出于某种原因,外壳/终端/ IDE的默认前景/背景颜色是红色,则必须使用黑色背景和默认白色前景进行打印。 如果选择使用图形输出,则只有在程序中指定了红色时,才可以使用红色(例如,背景色或默认文本颜色可能不是红色)。 获胜者,冠军 与代码高尔夫球一样,最短的程序将胜出!布朗尼点用于图形输出。 我将在一周内接受最短的答案。打高尔夫球快乐! 排行榜 var QUESTION_ID=123146,OVERRIDE_USER=61563;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return …
17 code-golf  color 

19
用我的方式阅读颜色
即使所有系统都在RGBA空间中讲话,不同的系统也有不同的颜色描述方式。熟悉CSS的前端开发人员可能更喜欢#RRGGBBAA。但是Android开发人员可能更喜欢#AARRGGBB。处理AAS文件格式时,#AABBGGRR是必需的。太混乱了。也许我们需要一个可以在不同颜色格式之间转换的程序。 输入: 输入包含3个部分: 要转换的颜色(例如#1459AC0F),以尖锐符号#开头的字符串,后跟8个十六进制数字。 给定颜色的格式(例如#RRGGBBAA),一个字符串开头,#后跟8个字母,分为4个不同的组,每个组是RR/ GG/ BB/之一AA。 转换成的格式。 输出: 以转换后的格式输出颜色 测试用例: Color, OriginalFormat, TargetFormat -> Result #12345678, #RRGGBBAA, #AARRGGBB -> #78123456 #1A2B3C4D, #RRGGBBAA, #AABBGGRR -> #4D3C2B1A #DEADBEEF, #AARRGGBB, #GGBBAARR -> #BEEFDEAD 输入/输出不区分大小写。您可以以任何可接受的方式输入/输出。 规则: 这是代码高尔夫球,每种语言的最短(以字节为单位)代码获胜

11
颜色计数,按出现次数排序
这是一个简单的描述,我简直不敢相信这是以前没有打过的: 对于给定的图像(您的语言支持的任何格式),找到唯一的颜色并输出颜色列表。 打印十六进制RGB的颜色代码,即一个哈希符号,#后跟R的2位数字,G的2位数字和B的2位数字(#xxxxxx其中x可以是0-9,AF和/或af)。 十六进制代码后跟一个空格和十进制像素数,然后是换行符(\n或\r\n)。 该列表应按计数降序排序(最常见的颜色在顶部)。 如果有领带(两种颜色的颜色相同),顺序并不重要。 该图像将不包含透明度,因此任何alpha值都不重要。Alpha值可能不是输出的一部分。 必须支持4000x3000的图片尺寸(这可能与类型定义有关) 示例图像“ 10red 20blue 30black 40white”: 预期产量: #FFFFFF 40 #000000 30 #0000FF 20 #FF0000 10 样本图片“蓝色渐变”: 预期的输出之一(因为相同颜色的顺序可能有所不同): #718DFF 19 #5571FF 15 #3855FF 11 #8DAAFF 11 #1C38FF 7 #AAAAFF 7 #8D8DFF 6 #AAC6FF 6 #C6C6FF 5 #C6E2FF 4 #001CFF 3 #E2E2FF 3 #FFFFFF 3 …

15
手动逻辑门
编写一个模拟基本逻辑门的程序。 输入:一个全大写单词,后跟2个1位二进制数字,以空格分隔,例如OR 1 0。门OR,AND,NOR,NAND,XOR,和XNOR需要。 输出:输入的逻辑门的输出将被赋予两个数字:1或0。 例子: AND 1 0成为0 XOR 0 1变得1 OR 1 1成为1 NAND 1 1成为0 这是codegolf,所以最短的代码获胜。
13 code-golf  logic-gates  hashing  code-golf  code-golf  number  array-manipulation  integer  code-golf  string  unicode  text-processing  cops-and-robbers  boggle  cops-and-robbers  boggle  code-golf  ascii-art  code-golf  word-puzzle  king-of-the-hill  python  code-golf  sequence  kolmogorov-complexity  code-golf  source-layout  code-golf  string  kolmogorov-complexity  math  number  code-golf  date  code-golf  combinatorics  recursion  game  king-of-the-hill  javascript  code-golf  array-manipulation  code-golf  radiation-hardening  self-referential  code-golf  integer  code-golf  number  code-golf  set-theory  code-golf  sequence  code-golf  string  sorting  natural-language  code-golf  decision-problem  number-theory  primes  code-golf  code-golf  ascii-art  code-challenge  array-manipulation  sorting  rubiks-cube  regular-expression  code-golf  counting  file-system  recursion  code-golf  string  kolmogorov-complexity  color  code-golf  game  code-challenge  permutations  encode  restricted-time  decode  code-golf  math  decision-problem  matrix  integer  palindrome  code-golf  matrix  statistics  king-of-the-hill  king-of-the-hill  python  card-games  code-golf  string  natural-language  code-golf  sequence  number-theory 

6
RGB到Xterm色彩转换器
256色Xterm兼容终端在通常的16种系统颜色之上增加了240种颜色。颜色16-231使用6级(0、95、135、175、215、255)红色,绿色和蓝色(按字典顺序排列)。颜色232-255仅是24级灰度(8 ... 238 x 10s)。要更好地了解我在说什么,请参阅此表。 挑战 您的目标是制作一个程序或函数,将rgb值作为输入,并输出与该rgb值最接近的Xterm颜色对应的数字。由于通常可以自定义16种系统颜色(颜色0-15),因此您将无法将它们从此转换中排除。 为了更好地定义“最接近的”颜色是什么,请沿红色,绿色和蓝色分量使用曼哈顿距离。例如,rgb(10, 180, 90)距离rgb(0, 175, 95)(颜色35)20个单位abs(10 - 0) + abs(180 - 175) + abs(90 - 95) == 20。如果输入颜色等于两个或多个Xterm颜色,则输出具有最高索引的Xterm颜色。 例子 R G B Xterm 0 0 0 ==> 16 95 135 0 ==> 64 255 255 255 ==> 231 238 238 238 ==> 255 90 …
13 code-golf  color 

7
查找最接近的HTML颜色名称
输入值 单个十六进制六位数颜色代码,大写字母,不带#。如果愿意,也可以是24位整数。 输出量 最接近的HTML颜色名称(例如red或dark-salmon,定义为https://www.w3schools.com/colors/colors_names.asp或参见下文)。距离是通过将红色,绿色和蓝色通道的差异求和来定义的。 例子 FF04FE: magenta FFFFFF: white 457CCB(中途之间steelblue和darkslateblue): steelblue(圆了) 规则 有标准漏洞。 适用标准I / O 如果介于两种颜色之间,请四舍五入为具有较高通道总数的颜色。如果两种颜色具有相同的通道总和,则输出较高的一种作为十六进制代码:例如 red= #FF0000= 16711680> blue= #0000FF= 256 如果一个十六进制代码具有两个名称(例如grey和gray),则输出其中一个。 可以将输出大写并连字符 尾随/前面的空格/换行都可以 您必须完整输出名称。 这是代码高尔夫球,因此最短答案以字节为单位。 色彩 根据评论中的建议,以下是所有颜色名称以及CSV格式的相应十六进制值: Color Name,HEX Black,#000000 Navy,#000080 DarkBlue,#00008B MediumBlue,#0000CD Blue,#0000FF DarkGreen,#006400 Green,#008000 Teal,#008080 DarkCyan,#008B8B DeepSkyBlue,#00BFFF DarkTurquoise,#00CED1 MediumSpringGreen,#00FA9A Lime,#00FF00 SpringGreen,#00FF7F Aqua,#00FFFF Cyan,#00FFFF MidnightBlue,#191970 DodgerBlue,#1E90FF …
13 code-golf  color 

30
本色代码
维基百科上的真彩色(24位)在相关部分中描述为 24位几乎总是使用R,G,B中的每个8位。截至2018年,几乎每台计算机和电话显示器以及绝大多数图像存储格式都使用24位色深。几乎所有情况下每个像素有32位意味着使用24种颜色,其余8种是alpha通道或未使用。 2 24给出16,777,216种颜色变化。人眼最多可以辨别一千万种颜色[10],并且由于显示器的色域小于人眼的范围,因此这意味着该范围应覆盖比所能感知的更多的细节。... ... Macintosh系统将24位颜色称为“数百万种颜色”。术语“真彩色”有时用来表示本文所说的“直接彩色”。[13]通常也用于指所有大于或等于24的颜色深度。 全部16,777,216色 任务 编写一个程序,该程序在CSS rgb()函数中生成并返回数组中所有16,777,216个颜色变化作为字符串 5.1。RGB功能:rgb()和rgba() 该rgb()函数通过直接指定红色,绿色和蓝色通道来定义RGB颜色。其语法为: rgb() = rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) <alpha-value> = <number> | <percentage> 前三个参数分别指定颜色的红色,绿色和蓝色通道。0%代表sRGB色域中该颜色通道的最小值,并100%代表最大值。A <number>等效于a <percentage>,但范围不同:0再次代表颜色通道的最小值,但255代表最大值。这些值来自以下事实:许多图形引擎在内部将颜色通道存储为单个字节,该字节可以容纳0到255之间的整数。实现应尽可能尊重创作或计算得出的通道精度。如果无法做到这一点,则应使用所使用的最高精度将通道四舍五入到最接近的值,如果两个值相等接近,则将四舍五入。 最后一个参数,<alpha-value>指定颜色的Alpha。如果指定为a <number>,则该值的有用范围是0 (表示完全透明的颜色)至1(表示完全不透明的颜色)。如果指定为,则0%表示完全透明的颜色,而100%表示完全不透明的颜色。如果省略,则默认为100%。 超出这些范围的值不是无效的,但是在计算值时将被限制为此处定义的范围。 出于遗留原因,rgb()它还支持另一种语法,该语法用逗号分隔所有参数: rgb() = rgb( <percentage>#{3} , <alpha-value>? ) | …

19
怎么把HEX2转换成RGBA?
艺术世界充满了色彩,但网络世界比其他色彩及其渲染的艺术世界还要充实。因此,我们需要知道如何将一种颜色格式转换为另一种颜色格式。 挑战不言而喻: 编写程序/函数,然后将给定的十六进制代码(#00ff0080例如)转换为RGBA(如rgba(0, 255, 0, 0.5))。 规则: 禁止使用外部库/内置程序将HEX转换为RGBA。但是,可接受jQuery和类似的语法替换器。 标准输入/输出规则适用。 alpha的格式可以在(1 == 100%)或其他(100 == 100%)之间,这并不是很重要。 只要返回4个转换后的值(如字符串,数组,列表,您可以选择),输出就很灵活。 您可以选择不输入#开头。因此,您可以将输入作为#RRGGBBAA或RRGGBBAA。您可以假定十六进制代码(除外#)将始终为8个字符。 您应将所有值除以255,包括alpha。最小十进制精度(对于alpha来说,将为2个小数位)。 测试用例 Input: 00ff0080 Output: 0, 255, 0, 0.5 计分 code-golf,字节最少的代码获胜。

16
将CMYK值转换为RGB
给定CMYK中的颜色代码,将其转换为RGB值。 输入: 4个整数字符串(0到100之间),以空格分隔 86 86 0 43 28 14 0 6 0 41 73 4 输出: #141592 #ABCDEF #F49043 最短的代码胜出! 提示:要将CMYK转换为RGB,可以使用以下公式: Red = 255 x (1 - Cyan/100) x (1 - Black/100) Green = 255 x (1 - Magenta/100) x (1 - Black/100) Blue = 255 x (1 - Yellow/100) …

13
从Rgb到Cmyk
给定3字节或RGB作为输入,计算最接近的CMYK值并输出。 创建带有参数和返回值的函数或在stdin / stdout上运行的程序 使用您选择的颜色配置文件,但提供参考 输入可以是[0; 255]范围内的单独数值,也可以是6位十六进制字符串 输出应为[0; 1]或[0; 100]范围内的单独数值 标准代号高尔夫:无漏洞,最短代号获胜 欢迎奢侈的想法 样本数据: input output 108,174,106 [0.3793103448275862, 0.0, 0.3908045977011494, 0.3176470588235294] 0,0,0 0,0,0,1 170,255,238 33,0,7,0 0x0088ff 1,0.4667,0,0 [250,235,215] [0,6,14,1.96] #123456 .7907,.3953,0,.6627 未经校准的映射很好,可能是最简单的 无需输入验证;允许使用浮点数(范围从0到255),但也可以四舍五入 输出格式应清晰注释或显而易见;即: 按此顺序的CMYK 百分比[0; 100]或纯数字[0; 1]都无关紧要 测试应包括简单的示例[0,0,0]。 我可以找到这个网站上最多的在线工具。有谁知道提供超过4位数字的工具?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.