Questions tagged «color»

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

30
所有颜色的图像
类似于allrgb.com上的图像,制作每个像素都是唯一颜色的图像(两次不使用颜色,并且不丢失任何颜色)。 提供一个生成此类图像的程序,以及输出的屏幕截图或文件(以PNG格式上传)。 纯粹通过算法创建图像。 图片必须为256×128(或可以截图并保存为256×128的网格) 使用所有15位颜色* 不允许外部输入(也不允许网络查询,URL或数据库) 不允许嵌入图像(可以是源图像的图像,例如 Piet) 允许抖动 这不是一场简短的代码竞赛,尽管它可能会赢得您的投票。 如果您真的很想挑战,请执行512×512、2048×1024或4096×4096(以3位为增量)。 计票方式为投票。投票选出最优雅的代码和/或有趣的算法所制作的最美丽的图像。 当然可以采用两步算法,首先生成漂亮的图像,然后将所有像素调整为一种可用的颜色,但不会赢得您的优雅。 * 15位颜色是32768种颜色,可以通过以相等的距离和相等的范围混合32个红色,32个绿色和32个蓝色来制成。示例:在24位图像(每通道8位)中,每通道的范围是0..255(或0..224),因此将其分成32个等距的阴影。 非常清楚,图像像素的数组应该是一个排列,因为所有可能的图像都具有相同的颜色,只是在不同的像素位置。我将在这里给出一个琐碎的排列,它一点也不漂亮: Java 7 import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import javax.imageio.ImageIO; public class FifteenBitColors { public static void main(String[] args) { BufferedImage img = new BufferedImage(256, 128, BufferedImage.TYPE_INT_RGB); // Generate algorithmically. …

30
蒙娜丽莎调色板中的美国哥特式:重新排列像素
您将得到两个真实的彩色图像,即“源”和“调色板”。它们不一定具有相同的尺寸,但是可以保证它们的面积相同,即,它们具有相同数量的像素。 您的任务是创建一种算法,该算法仅使用调色板中的像素即可制作最精确的“源”副本。调色板中的每个像素在此副本中的唯一位置必须使用一次。副本必须与来源具有相同的尺寸。 可以使用此Python脚本来确保满足以下约束: from PIL import Image def check(palette, copy): palette = sorted(Image.open(palette).convert('RGB').getdata()) copy = sorted(Image.open(copy).convert('RGB').getdata()) print 'Success' if copy == palette else 'Failed' check('palette.png', 'copy.png') 这是几张测试图片。它们都具有相同的面积。您的算法应适用于任何两个面积相等的图像,而不仅仅是American Gothic和Mona Lisa。您当然应该显示输出。 感谢维基百科提供著名绘画的图像。 计分 这是一场人气竞赛,因此获得最高投票答案。但是我敢肯定,有很多方法可以使这个创意! 动画 millinon的想法是,看到像素重新排列自己会很酷。我也这么想,所以我写了这个 Python脚本,该脚本以相同的颜色拍摄两个图像,并在它们之间绘制中间图像。更新:我刚刚对其进行了修改,因此每个像素都必须移动最小量。它不再是随机的。 首先是蒙娜丽莎(Mona Lisa)变成了aittsu的美国哥特式。接下来是bitpwner的American Gothic(来自Mona Lisa)变成了aditsu。令人惊讶的是,两个版本共享完全相同的调色板。 结果确实相当惊人。这是aittsu的彩虹蒙娜丽莎(Mona Lisa)(慢速显示细节)。 最后的动画不一定与比赛有关。它显示了使用我的脚本将图像旋转90度时发生的情况。

30
出去投票
今天是2016年11月8日,美国大选日。 如果您是符合投票资格的美国公民,那么在回答此挑战之前如果尚未投票,请出去投票。不要讨论您投票给谁。只关系到您的投票。 如果您不是美国公民或没有投票的资格,那么在回答这一挑战之前,请告诉您知道谁是符合条件的公民(如果尚未参加投票),从而对美国有所帮助。 挑战 编写一个表明您已投票的程序,例如数字“ I Voted”标签。 它应该不输入和输出必须以合理的方式短语I Voted,其中I,o和e是红色的(#FF0000)和V,t和d是蓝色的(#0000FF)。背景必须为白色(#FFFFFF)。 例如: 这些颜色当然是美国国旗的代表(尽管不是官方颜色)。红色首先出现,仅是因为它在常见的成语“红色白色和蓝色”中首先出现。 为了有效,答案必须: 使用指定的排列中指定的颜色。 使用单个清晰的字体和字体大小。该示例使用72pt Times New Roman粗体,但是任何高于6pt的常见字体都可以。 仅在单行I Voted上将该词组正确地大写,两个词之间要有清晰的空格。它不应该看起来像。IVoted 不注明答覆者是谁投票支持总统或任何下场选举。我们不要开始任何互联网辩论。这是关于庆祝投票,而不是候选人。 显示或产生输出的任何合理方式都是有效的,例如: 将文本绘制到图像上,然后显示,保存或输出原始图像。 使用颜色格式将文本写入控制台。在这种情况下,如有必要,您可以近似使用纯红色和蓝色,并且仅将文本后面的区域设置为白色是可以的。 在WPF / Windows窗体上显示文本。 输出带有文本的HTML / RTF / PDF文件。 请发布您的输出图像。 以字节为单位的最短答案将获胜。

30
从较小的“ H”创建一个“ H”
挑战 创建一个函数或程序,当给定整数时size,该函数或程序将执行以下操作: 如果size等于1,则输出 H H HHH H H 如果size大于1,则输出 X X XXX X X X程序/功能的输出在哪里size - 1 (只要您愿意,0只要您在答案中指定,就可以使基本情况与相对应) 可以使用以下任何一种输出格式,以您更方便的方式: 所需结构的字符串,其中任意两个不同的字符分别对应于H和space 具有所需结构的二维数组,其中任意两个不同的值分别对应于H和space 字符串的数组/列表,每个字符串中有一行输出,并且与H和对应的任意两个不同的值space 只要每行上有恒定数量的前导空格,就可以使用前导空格。两个不同的输出字符可以取决于您选择的任何内容,只要它们不同即可。 指定代码返回的输出格式。 测试用例 1 H H HHH H H 2 H H H H HHH HHH H H H H H HH HH H HHHHHHHHH H HH HH …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

30
显示随机的彩色像素
我一直很喜欢充满随机彩色像素的屏幕。他们很有趣,吸引他们的程序也很有趣。 挑战 用彩色像素填充屏幕或图形窗口。 规则 你的程序必须有一个甚至采摘的机会,所有的颜色(即范围#000000到#FFFFFF),或者可以在系统上显示所有颜色。 您的程序必须继续显示随机像素,直到手动停止(它不能自行终止)。 像素可以是任意大小,只要您的输出至少具有40x40 “像素”即可。 您的程序必须以这样的速度运行,使其可以在运行三分钟后至少替换一次屏幕/窗口上的每个像素。 您的程序必须选择真正随机的颜色和点进行替换,即随机选择所有点/颜色的可能性均等。它不能看起来只是随机的。它必须使用pRNG或更好的pRNG,并且每次输出都不能相同。 您的程序在每次迭代中必须有平等的机会选择所有颜色。 您的程序一次只能替换一个像素。 您的程序无法使用Internet或文件系统(/dev/random和/dev/urandom除外)。 例 如果在随机时间停止输出,则输出可能如下所示: 赢家 每种语言中最短的答案将获胜。玩得开心!

25
适用于Internet的更好的十六进制颜色代码
十六进制三胞胎(例如#ffffff(白色)或#3764ef(蓝色))通常用于表示RGB颜色。它们由#六个十六进制数字(0-f)或有时由三个数字组成,其中通过将每个数字加倍获得真实色彩。例如,#fffis #ffffff和#1a8is #11aa88。 可悲的是,这三个数字速记是互联网有可能的报价,golfiest 直到现在。 编写一个包含1到7个字符的字符串的程序或函数: 第一个字符将始终为#。 其他字符将始终为十六进制数字:0123456789abcdef。 输入是十六进制三元组的简写形式(如果给出7个字符,则为完整形式)。您需要输出完整的十六进制三元组,以根据以下模式扩展输入速记: Input -> Output # -> #000000 (black) #U -> #UUUUUU #UV -> #UVUVUV #UVW -> #UUVVWW (usual 3-digit shorthand) #UVWX -> #UXVXWX #UVWXY -> #UVWXYY #UVWXYZ -> #UVWXYZ (not shorthand) 每一个U,V,W,X,Y,和Z可以是任何十六进制数字。输出始终为7个字符。 例如: Input -> Output # -> #000000 #0 -> #000000 …

20
法鲁洗牌数组
阿法鲁洗牌是经常使用的魔术到“洗牌”甲板的技术。要执行Faro随机播放,您首先将卡座切成相等的两半,然后将这两个半插入。例如 [1 2 3 4 5 6 7 8] 法鲁洗牌是 [1 5 2 6 3 7 4 8] 可以重复多次。有趣的是,如果重复此次数足够多,您将总是回到原始数组。例如: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 8] [1 2 3 4 5 6 7 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

23
查找最接近的三位数十六进制颜色
在CSS中,颜色可以由“十六进制三元组”指定-一个三字节(六位数)的十六进制数字,其中每个字节代表颜色的红色,绿色或蓝色分量。例如,#FF0000完全为红色,等效于rgb(255, 0, 0)。 颜色也可以由使用三个十六进制数字的速记符号表示。通过将每个数字重复,速记扩展为六位数字形式。例如,#ABC变为#AABBCC。 由于十六进制速记中的位数较少,因此可以表示较少的颜色。 挑战 编写一个采用六位数十六进制颜色代码并输出最接近的三位数颜色代码的程序或函数。 这是一个例子: 输入十六进制代码:#28a086 红色成分 0x28 = 40(十进制) 0x22 = 34 0x33 = 51 0x22更近,因此缩短的颜色代码的第一位是2 绿色成分 0xa0 = 160 0x99 = 153 0xaa = 170 0x99更近,所以第二个数字是9 蓝色成分 0x86 = 134 0x77 = 119 0x88 = 136 0x88更近,所以第三位是8 缩短的颜色代码为#298(扩展为#229988) 您的程序或函数必须接受以开头的六位十六进制颜色代码作为输入,#并输出以前面的三位数颜色代码作为输入#。 例子 #FF0000→#F00 #00FF00→#0F0 #D913C4→#D1C #C0DD39→#BD3 #28A086→#298 …

3
彩虹化图像
这个挑战是关于逐渐改变图像的色调来制作漂亮的图片,如下所示: (原始) 挑战 编写一个程序或函数,该程序或函数使用两个非负整数和一个您选择的任何常见图像文件格式的图像(您可以采用指向图像或原始图像数据的路径)。 我们将第一个整数称为循环,将第二个整数称为offset。 我们还将浮点步长定义为360倍周期除以图像面积,即step = 360 * cycles / (image width * image height)。 对于图像中的每个像素P,从左到右,从上到下一次移动一行(即,如果像素是字母,则按读取顺序),请执行以下操作: 增加色调的P由偏移度(如果必要的话,从360循环周围为0)。 然后增加抵消由步骤。 以任何常见图像文件格式保存,显示或原始输出结果图像。 此过程递增地增加了图像中的所有像素的色调,使得循环满环周围的色调的彩虹,通过最初偏移色调通过开始偏移。 当周期为1且偏移为0时,如上面的“星夜”图片所示,像素的顶行和底行几乎没有色相偏移,但在这之间有一个完整的颜色周期。 细节 循环可以是任何非负整数,但是您可以假定偏移量是从0到359(含)。 当cycles为0时,图像中的每个像素的色相都会偏移精确的偏移量,因为step也必须为0。(在这种情况下,如果offset为0,则图像根本不会改变。) 如果需要,您可以假设周期和偏移量输入为浮点数(即1.0代替1)。(我意识到它们根本不需要是整数,这只是使挑战变得更加简单。) “色相”是指HSL / HSV颜色模型中常见的RGB颜色空间版本。 例子 原版的: 周期= 1,偏移= 0: 周期= 1,偏移= 180: 原版的: 周期= 2,偏移= 60: 原版的: (感谢ArtOfCode。) 周期= 1,偏移= 120: 原版的: (感谢门把手。) 周期= 1,偏移= …

16
提取图像的RGB通道
在给定图像的情况下,要么作为输入(可能是RGB三元组),要么使用文件名作为输入(您可以假定图像具有特定的文件名,可能没有扩展名),则输出表示图像的单个颜色通道的图像。 您还将接受另一个输入,代表要输出的通道。输入可以是任何3个不同的符号之一。但是,符号必须是字符串或数字。但是,您不能将矩阵应用于输入数组。(例如{1, 0, 0},或{0, 1, 0})。 您将输出<input>输入图像的通道。您既可以将其保存到文件中,也可以输出一组RGB对。 您的程序对图像的大小(以px为单位)应该没有限制,并且必须支持.png,.jpg/ .jpeg/ .JPG或RGB三胞胎作为图像格式。(但是它可以支持任意数量) 测试用例: 红色通道: 绿色通道: 蓝色频道: 还有另一个测试用例,完全是红色的。 原始照片,红色,绿色和蓝色。(警告:看得太久的普通和红色通道太痛了) 另外2个测试用例: 原始,红色,绿色,蓝色。 原始,红色,绿色,蓝色。 后两个测试用例来自所有颜色的图像。

10
两种颜色的重叠圆
编写一个程序或函数,以您选择的合理格式接收以下输入: 两个正整数W和H定义要生成的图像的宽度和高度。 两种RGB颜色C1和C2将用于为图像着色。 形式的三元组列表,(r, x, y)用于定义在图像平面中具有半径r和中心的圆x, y。r是一个正整数,x并且y是任何整数。图像的左上像素为0, 0,x轴向右增加,y轴向下增加。 输出尺寸为W x H的图像,并用C1和C2着色,以使所有重叠圆所定义的两个相邻区域都不是同一颜色。 例如:如果输入是 W = 300 H = 200 C1 = (255, 200, 0) C2 = (128, 0, 255) Circles = (25, 50, 80), (40, 80, 120), (300, -100, 6), (17, 253, 162) 那么圆边界看起来像这样: 圆圈创建的图像中有六个不同的连续区域。每个区域必须用C1(黄色)或C2(紫色)上色,以使没有两个相邻的区域具有相同的颜色。 有两种方法可以做到这一点,它们唯一的区别是可以交换颜色: 因此,对于示例输入,这两个图像中的任何一个都是有效输出。 喜欢的东西这是因为两个黄地区彼此相邻无效的输出。 您的输出图像应遵循以下准则: 除了C1和C2,第三种中性色(例如黑色或白色)也可以用于圆形边界,只要它们的厚度不超过5像素即可。(上面的示例中存在黑色的1像素厚边界。) 但是,圆边界不是必需的。这些区域可以彼此直接相邻: …

30
下一个颜色
挑战 将彩虹视为七种颜色,以字符串表示Red Orange Yellow Green Blue Indigo Violet。 您的任务是创建一个程序,以接收这些颜色之一作为输入,然后依次输出彩虹色。这包括重叠Violet -> Red 输入值 包含一种彩虹色的字符串。 输出量 接下来是彩虹的颜色。 规则 颜色名称区分大小写。它们必须匹配此帖子中包含的大小写。 输入将始终有效。对于无效输入,允许任何行为。 这是代码高尔夫球,因此最短的字节数将获胜! 输入和输出示例 Input -> Output Red -> Orange Orange -> Yellow Yellow -> Green Green -> Blue Blue -> Indigo Indigo -> Violet Violet -> Red

14
这是一个截断的三角形数字吗?
相关OEIS序列:A008867 截断三角数 三角数的一个共同属性是它们可以排列成三角形。例如,取21并排列成os 的三角形: Ø OO oo oo oo oo 让我们定义一个“截断:”从每个角切割相同大小的三角形。截断21的一种方法如下: 。 。。 oo oo 。oo。 。。哦。。 (的三角形.是从原始三角形切出的)。 o剩下12 秒,因此12是一个截断的三角形数字。 任务 您的工作是编写一个程序或函数(或等效函数),该程序或函数采用整数并返回(或使用任何标准输出方法)数字是否为截断的三角形数字。 规则 没有标准漏洞。 输入是非负整数。 切口的边长不能超过原始三角形的一半(即,切口不能重叠) 切口的边长可以为零。 测试用例 真相: 0 1 3 6 7 10 12 15 18 19 虚假: 2 4 5 8 9 11 13 14 16 17 …
20 code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

13
迷彩变色变色龙挑战
变色龙的挑战显然是一件坏事。太糟糕了,变色龙是美丽的生物。改变的时候了! 众所周知,许多变色龙具有通过改变肤色来与周围环境融为一体的卓越能力。这也是这一挑战的目标。 挑战 想象一个九像素的正方形。周围有八个像素。中心是变色龙。 像这样: 变色龙自然地试图与周围环境融为一体。它通过将其颜色更改为周围像素的平均颜色来实现。因此,在这种情况下,变色龙会将其颜色更改为。 目的 给定周围像素的颜色,输出​​变色龙的颜色。 变色龙的颜色定义为像素中所有红色,绿色和蓝色的总和÷8。 输入项 八个周围像素的颜色值的数组,从左上角开始,然后按顺时针方向继续,如下所示: [[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>]] 您可以选择以其他形式接收输入,只要它包含八个三进制的十进制数字0-255。 如果您收到其他形式的输入,则数字的长度必须一致,或者之间必须有非数字分隔符。三元组必须有一个分隔字符,除非将其0填充为9位数字。(例如044200255044200255044200255044200255044200255044200255044200255044200255,有效,44 200 255 44 200 255 44 200 255 44 200 255 44 200 255 44 200 255 44 200 255 44 200 255and和都是有效的,44?200?255$44?200?255$44?200?255$44?200?255$44?200?255$44?200?255$44?200?255$44?200?255但4420025544200255442002554420025544200255442002554420025544200255不是。) 输出量 包含中心像素颜色(十进制)的数组/字符串/等,如下所示: [<red>,<green>,<blue>] 如果输出的不是数组,则数字必须是一致的长度,或者数字之间必须有非数字分隔符。(例如044200255,有效,44 200 255但44200255无效)。 数字可能不包含小数点,因此例如44.0 200 255.0无效。 四舍五入 输出必须四舍五入到最接近的整数。(一半必须四舍五入。)例如,如果所有红色的总和为1620,则必须输出203,而不是202或202.5。 例子 图片仅供参考。中间像素是输出,周围像素是输入。 …

10
RGB渐变生成
挑战 给定两个表示RGB值的大写十六进制字符串(长6个字符,XXXXXX和YYYYYY)(范围从000000到FFFFFF包括)和一个正非零整数N,显示从XXXXXX到YYYYYY生成的N + 2种颜色的线性过渡这会导致颜色渐变。 例 输入值 FF3762 F08800 9 输出量 请注意,在我们的示例中,我请求了两种颜色之间的9个过渡步骤,因此从初始颜色到最终颜色将显示11行 FF3762 FD3F58 FC474E FA4F44 F9573A F75F31 F66727 F46F1D F37713 F17F09 F08800 注意事项 虽然我已经进行了一个简单的线性过程,即在将中间颜色转换回十六进制之前导出中间值的整数值,但是您的方法可能会有所不同。请考虑可以采用多种方式对数字进行四舍五入的方法。 测试中 为了使这一点有趣,我提供了一个片段来测试您的代码,其中包括一个按钮,为您提供两种随机颜色来测试您的代码。显示结果是可选的,但鼓励您! c1=()=>('00000'+(Math.random()*(1<<24)|0).toString(16)).slice(-6); $("#col").click(function(){ alert("Your two colors are: "+c1()+" and "+c1()+"."); }); $("#colors").blur(function(){ $("#test").empty(); var colArr = $("#colors").val().split("\n"); for(c in colArr){ $("#test").append('<div class="tester" style="background-color:#'+colArr[c]+';">'+colArr[c]+'</div>') } }); …
18 code-golf  color 

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.