问题标签 [color-palette]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
318 浏览

javascript - 从初始颜色计算调色板

我对实现的模糊性有点困惑——例如,将色调轮旋转 180 度“感觉”适合获得互补色,但同时Adob​​e Kuler为“种子”的深色浅色阴影产生相同的输出颜色。我不确定这是 Adob​​e 工具的错误/功能,还是我完全错过的色彩理论章节。

是否有一个 js 库(或来自不同语言的可移植库)遵循“参考”公式来计算此类相关调色板?我指的是“传统”的类似、互补、复合等调色板。

编辑:为避免将其视为“离题”,我正在寻求一种 javascript 实现 - 但将接受其他语言或公式/参考的答案,足以从头开始构建一个。

0 投票
1 回答
110 浏览

r - 包 rgrs 定义 carte.qual 调色板

我正在使用 rgrs 包来创建基于定性的地图。我不喜欢 ColorBrewer 提供的调色板,如何定义自己的调色板?

我尝试了以下...

它返回以下错误消息:

从“pal”中删除语音标记会返回相同的消息。任何人都可以帮忙吗?

0 投票
2 回答
491 浏览

r - R中相同颜色的广泛范围

是否有可能创造出大量不同种类的“红色”颜色。为了更好地理解,我期待跟随,但我希望拥有“红色”或“红黑”而不是灰色。

我知道的颜色包的颜色范围有限。任何想法将不胜感激。

0 投票
1 回答
8508 浏览

r - 如何从 ggplot2 中的预定义颜色集中选择颜色

假设我有一个如下数据集:

我想使用ggplot2. 我没有手动选择颜色,而是使用预定义的颜色集Paired

我得到的图如下所示:组a和的数据点为b两种蓝色阴影,而组c和的数据点为d两种绿色阴影。

在此处输入图像描述

假设现在,我只想绘制与组c和对应的数据d,并且我想使用两种绿色阴影。如果我只是执行以下操作:

该功能将自动选择两种蓝色阴影(见下文),因为它们在Paired调色板集中排在第一位。

在此处输入图像描述

所以我的问题是:我如何在使用时选择预定义颜色集中的颜色ggplot2

0 投票
4 回答
5403 浏览

java - 使用 M 种预定义颜色中的 N 种进行颜色量化

我在尝试量化和抖动 RGB 图像时遇到了一个稍微奇怪的问题。理想情况下,我应该能够在 Java 中实现合适的算法或使用 Java 库,但对其他语言实现的引用也可能会有所帮助。

以下作为输入给出:

  • image: 24 位 RGB 位图
  • palette: 用 RGB 值定义的颜色列表
  • max_cols:输出图像中使用的最大颜色数

可能很重要的是,调色板的大小以及允许颜色的最大数量不一定是 2 的幂,可能大于 255。

因此,目标是从提供的颜色image中选择最多颜色,并仅使用拾取的颜色输出图像,并使用某种错误扩散抖动进行渲染。使用哪种抖动算法并不那么重要,但它应该是一种误差扩散变体(例如 Floyd-Steinberg),而不是简单的半色调或有序抖动。max_colspalette

性能不是特别重要,预期数据输入的大小相对较小。图像很少会大于 500x500 像素,提供的调色板可能包含大约 3-400 种颜色,颜色数量通常限制在 100 以下。假设调色板包含多种颜色也是安全的,涵盖色调、饱和度和亮度的变化。

scolorq使用的调色板选择和抖动将是理想的,但调整算法以从已定义的调色板中选择颜色而不是任意颜色似乎并不容易。

更准确地说,我遇到的问题是从提供的调色板中选择合适的颜色。假设我例如使用 scolorq 创建具有 N 种颜色的调色板,然后用提供的调色板中最接近的颜色替换 scolorq 定义的颜色,然后将这些颜色与误差扩散抖动结合使用。这将产生至少类似于输入图像的结果,但由于所选颜色的不可预测的色调,输出图像可能会出现强烈的、不希望的色偏。例如,当使用灰度输入图像和只有很少的中性灰色调,但有很大范围的棕色调(或更一般地说,许多颜色具有相同色调、低饱和度和很大的亮度变化)的调色板时,我的颜色选择算法似乎更喜欢这些颜色而不是中性灰色,因为棕色色调至少在数学上比灰色更接近所需的颜色。即使我将 RGB 值转换为 HSB 并在尝试查找最接近的可用颜色时为 H、S 和 B 通道使用不同的权重,同样的问题仍然存在。

有什么建议可以正确地实现它,甚至是我可以用来执行任务的更好的库吗?

既然Xabster问了,我也可以用这个练习来解释目标,尽管它与如何解决实际问题无关。输出图像的目标是刺绣或挂毯图案。在最简单的情况下,输出图像中的每个像素对应于在某种载体织物上制作的针迹。调色板对应于可用的纱线,通常有数百种颜色。然而,出于实际原因,有必要限制实际工作中使用的颜色数量。谷歌搜索 gobelin 刺绣将举几个例子。

并澄清问题究竟出在哪里......解决方案确实可以分为两个单独的步骤:

  • 选择原始调色板的最佳子集
  • 使用子集渲染输出图像

在这里,第一步是实际问题。如果调色板选择正常,我可以简单地使用选定的颜色,例如 Floyd-Steinberg 抖动来产生合理的结果(实现起来相当简单)。

如果我正确理解 scolorq 的实现,那么 scolorq 会结合这两个步骤,使用调色板选择中的抖动算法知识来创建更好的结果。这当然是一个首选的解决方案,但 scolorq 中使用的算法稍微超出了我的数学知识。

0 投票
0 回答
529 浏览

r - scale_fill 调色板不断被覆盖

我正在尝试按照这个看似优秀的教程使用 ggplot2 绘制 k-means 集群,但我似乎无法保留我想要的调色板。

我尝试了什么(工作示例)

以下两个图都产生相同的结果:

完整的聚类图

奇怪的是,如果我只是用比例填充功能绘制原始数据点,颜色就会改变:

部分聚类图

第一个图像看起来像默认的 ggplot 颜色,即 HSL 色轮周围均匀分布的色调。所以我认为geom_point具有不同数据的系列以某种方式覆盖了调色板。不过,我没有收到任何警告。

0 投票
0 回答
189 浏览

gnuplot - 如何设置调色板以避免拉伸到高值

我正在绘制 pm3d 地图并使用调色板。但是,当使用调色板时,我发现拉伸到几个高值会导致调色板颜色扩散,因此无法识别绘图中的差异,实际上几乎是一种颜色。

数据主要分布在调色板的低端,具有几个高值。

我想知道是否有任何解决方案?也许为大多数分布式数据指定一个调色板,然后从那里指定一种颜色?

0 投票
1 回答
2268 浏览

java - 使用调色板从 TIFF 获取像素颜色索引

我有TIFF256 字节的调色板。TIFF在 Java 中,我将其读到BufferedImage. 这BufferedImageIndexColorModel。当我遍历 中的像素时BufferedImage,我只能得到 RGB。我想编写方法,用于x,y从调色板获取原始颜色索引BufferedImage(不是 RGB 颜色,只是来自TIFF调色板的原始索引)。我怎样才能做到这一点?

我知道我可以遍历 IndexColorModel 并检查 RBG 相等性,但如果TIFF至少有 2 个具有相同颜色的索引(例如索引 0 - 黑色,132 - 黑色;假设像素 10x10 有黑色[rgb=0,0,0]- 那么我不知道我应该采用哪个索引 - 它们具有相同的 RGB 值)。我也可以读取原始TIFF数据,然后计算字节数组中的像素位置,但我不想这样做 - 我想使用JAI.

有没有办法在有BufferedImageJAI没有外部库的情况下做到这一点?

谢谢

0 投票
1 回答
786 浏览

r - r 对十六进制进行排序以反转调色板

我想使用默认调色板以相反的顺序image.plot从包中绘制。fields在帮助页面中它说

用于图像的颜色表(有关详细信息,请参阅图像上的帮助文件)。默认值是 Tim Hoar 建议的令人愉悦的 64 个分区范围,类似于 MATLAB (TM) jet 颜色方案。

所以我想出最简单的方法是按降序排序,问题是颜色向量是十六进制的,你是怎么做的?转换成十进制然后再转换回来?有没有更简单/更智能的方法?

0 投票
1 回答
663 浏览

svg - 是否可以导入调色板并让笔触、填充和渐变色停止颜色参考调色板?

我正在尝试创建 SVG 图标集的想法。我想做的是定义一个调色板,并让笔触、填充和渐变色停止颜色引用调色板中的颜色,每个 SVG 文件都会以某种方式导入这些颜色。这样,如果我想创建图标集的灰度版本,或者为特定类型的色盲调整颜色,那么我可以只更改调色板。

这样的事情可能吗?