作为颜色表示的值

2024-05-01

将值转换为颜色是众所周知的,我确实理解以下两种方法(在改变 RGB 颜色值来表示一个值 https://stackoverflow.com/questions/1423925/changing-rgb-color-values-to-represent-a-value)

  1. 灰度值
  2. 作为基色亮度的值 https://stackoverflow.com/questions/1423925/changing-rgb-color-values-to-represent-a-value/1423995#1423995 (e.g. 蓝色的亮度 http://farm3.static.flickr.com/2614/3921280034_d6328ec188_o.png)

但是,当我想使用全颜色范围(“所有颜色”)时,最好的算法是什么?当我使用具有 8 位 RGB 值的“灰色”时,我实际上确实有 256 种色调(白到黑)的表示。但如果我使用整个系列,我可以使用更多色调。就像是this http://2.bp.blogspot.com/-FjYXzWE-Pw8/TlVYWfYNwQI/AAAAAAAAAiU/abI9dL94DM0/s1600/9924637-large.gif。而且这样会更容易识别。

基本上我需要 Javascript 中的算法,但我想所有代码(例如 C#、Java、伪代码)也可以。底部的图例显示了编码,我正在寻找为此的算法。

因此,如果有一个值范围(例如 1-1000),我可以将 1 表示为白色,将 1000 表示为黑色,但我也可以将 1 表示为黄色,将 1000 表示为蓝色。但这有标准算法吗?看例子here http://2.bp.blogspot.com/-FjYXzWE-Pw8/TlVYWfYNwQI/AAAAAAAAAiU/abI9dL94DM0/s1600/9924637-large.gif,表明它们使用颜色间隔。我不仅想使用灰色或改变亮度,而且想使用所有颜色。

这是一个视觉演示 http://colorbrewer2.org/(需要闪光灯)。给定颜色方案中表示的值 a,我的目标是计算颜色。

我确实有一个线性颜色范围,例如1-30000

- 更新 -

Here https://stackoverflow.com/questions/649454/what-is-the-best-way-to-average-two-colors-that-define-a-linear-gradient我发现这里有一个叫做 LabSpace 的东西:

实验室空间是一种表示颜色的方式,其中彼此接近的点是那些在人类看来彼此相似的点。

所以我需要的是一种算法来表示这个实验室空间中的线性值。


有两种指定颜色的基本方法。一种是预定义的颜色列表(调色板),然后您的颜色值是该列表的索引。这就是旧的 8 位彩色系统的工作原理,并且 GIF 图像仍然如此。有网络安全颜色列表,例如http://en.wikipedia.org/wiki/Web_colors http://en.wikipedia.org/wiki/Web_colors,通常适合 8 位值。通常相似的颜色是相邻的,但有时不是。 调色板的优点是每个像素需要少量数据,但缺点是屏幕上可以同时显示的不同颜色的数量受到限制。

另一种基本方法是指定颜色的坐标。一种方法是 RGB,每种原色都有一个单独的值。另一个是色相/饱和度/亮度。 CMYK(青色、品红色、黄色,有时还有黑色)用于打印。这就是通常所说的真彩色,当您使用“所有颜色”之类的短语时,听起来您正在寻找这样的解决方案。对于渐变和此类 HSL 可能非常适合您。例如,从颜色到灰色的渐变只会降低饱和度值。如果您想要的只是“纯”颜色,则固定饱和度和亮度值并改变色调。 几乎所有绘图系统都需要 RGB,但从 HSL 到 RGB 的转换是直接的。http://en.wikipedia.org/wiki/HSL_and_HSV http://en.wikipedia.org/wiki/HSL_and_HSV

如果您无法腾出完整的每种颜色 24 位(每种颜色 8 位,32 位颜色相同,但添加了一个透明通道),您可以使用 15 或 16 位颜色。这是同样的事情,但不是每种颜色 8 位,而是每种颜色 5 位(15 位)或 5-6-5(16 位,绿色获得额外的位,因为我们的眼睛对绿色阴影更敏感)。这适合一个短整数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

作为颜色表示的值 的相关文章

  • 如何在matplotlib中部分填充之间,如不同值的不同颜色

    I m trying to color the space between the graph line and the x axis The color should be based on the value of the corres
  • 查找重叠事件/时间的算法

    在处理自定义日历时 我不知道如何找到与任何其他时间段重叠的时间段 时段从 0 点至 720 点 上午 9 点至晚上 9 点 每个像素代表一分钟 var events id 1 start 0 end 40 an event from 9 0
  • QML改变图像颜色

    我搜索了如何对图像进行着色 格式为 svg 或 png 我尝试用一 个填充图像的矩形覆盖我的图像 但由于我的图像不是矩形 它会给整个矩形着色 而不仅仅是图像 可以用qml改变图像颜色吗 或者 是否可以使用 QPixmap 更改 qt 使用
  • 为什么我们需要检测链表中的循环

    我看到很多关于如何检测链表中的循环的问答 但我想了解的是我们为什么要这样做 换句话说 检测链表中的循环的实际用例是什么 在现实生活中 您可能永远不需要检测链表中的循环 但是执行此操作的算法很重要 我在现实生活中多次使用它们 例如 我经常会递
  • 在哪里可以找到有关双三次插值和 Lanczos 重采样的好读物?

    我想用 C 实现上述两种图像重采样算法 双三次和 Lanczos 我知道现有的实现有几十种 但我仍然想制作自己的实现 我之所以这么做 部分原因是我想了解它们是如何工作的 部分原因是我想为它们提供一些主流实现中没有的功能 例如可配置的多 CP
  • 如何计算一组字符串的最短唯一前缀?

    这是一个非常常见的算法命令行解析 给定一组预定义的长选项名称 计算唯一标识这些选项之一的最短前缀 例如 对于以下选项 help hostname portnumber name polymorphic 这将是输出 he ho por n p
  • 查找数组中的重叠数据

    我们正在编写一个 C 应用程序 它将有助于删除不必要的数据重复器 只有在以下情况下才可以移除中继器 all它接收到的数据被其他中继器接收 我们第一步需要做的事情解释如下 例如 我有 int 数组的集合 A 1 2 3 4 5 b 2 4 6
  • 埃拉托斯特尼筛法是生成 1 到 N 素数的最佳算法吗?

    我在一次采访中被问到这个问题 我使用埃拉托色尼筛子概念和数组实现了一种算法 有没有更好的方法来解决这个问题 对于不知道筛子的人 请点击以下链接 http en wikipedia org wiki Sieve of Eratosthenes
  • 如何在大空间尺度上加速A*算法?

    From http ccl northwestern edu netlogo models community Astardemo http ccl northwestern edu netlogo models community Ast
  • 让电脑实现360度=0度,旋转炮塔

    我正在制作一个游戏 其中有一个计算机控制的炮塔 炮塔可360度旋转 它使用 trig 找出枪瞄准所需的角度 obj deg 并将枪的当前角度存储在 gun deg 下面的代码以设定的速度旋转枪 if objdeg gt gundeg gun
  • RNG 技术的可移植性和可重复性

    我可以使用两种方法之一来创建一个伪随机数序列 该序列具有两个重要特征 1 它可以在不同的机器上重现 2 该序列永远不会重复范围内的数字 直到所有数字都被发出 我的问题是 这两种方法在可移植性 操作系统 Python 版本等 方面是否存在潜在
  • Haar级联正例图像大小调整

    我正在迈出第一步 为自定义对象识别创建 haar 级联 我花了时间获取大量数据并编写了一些预处理脚本以将视频转换为帧 我的下一步是裁剪感兴趣的对象 以创建一些积极的训练示例 我有几个问题 我确实在网上寻找答案 我有点困惑 我读到我应该致力于
  • 找到一个恰好出现了 N/2 次的数字

    这是我的面试问题之一 给定一个包含 N 个元素的数组以及元素出现的位置正好 N 2次 其余 N 2 个元素是unique 您如何找到运行时间更好的元素 请记住 元素未排序 您可以假设 N 是偶数 例如 input array 10 2 3
  • svg 圆形描边上的多种颜色

    我想创建一个彩虹圈 如下图所示 如何绘制弯曲的多色标渐变 这是我当前的代码
  • 竞争性编码 - 以最低成本清除所有级别:未通过所有测试用例

    当我遇到这个问题时 我正在一个竞争性编码网站上解决问题 问题指出 游戏中有 N 个关卡和 M 种可用武器 等级编号从 0 到 N 1 武器编号从 0 到 M 1 您可以按任意顺序清除这些级别 在每个关卡中 需要这些 M 武器的某些子集才能通
  • 从数字列表中生成所有唯一对,n 选择 2

    我有一个元素列表 假设是整数 我需要进行所有可能的两对比较 我的方法是 O n 2 我想知道是否有更快的方法 这是我在java中的实现 public class Pair public int x y public Pair int x i
  • 二分查找问题? [复制]

    这个问题在这里已经有答案了 可能的重复 实施二分查找有哪些陷阱 https stackoverflow com questions 504335 what are the pitfalls in implementing binary se
  • 为什么对本地列表求和比用“GHC -O2”对教会编码列表求和慢?

    为了测试教会编码的列表如何针对用户定义的列表和本机列表执行 我准备了 3 个基准测试 用户定义的列表 data List a Cons a List a Nil deriving Show lenumTil n go n Nil where
  • 假设红、蓝、黄为原色,计算混合颜色的 RGB 代码

    浅色和油漆之间存在不匹配 物理学家会说三基色是红 绿和蓝 而画家则会将红 蓝和黄作为三基色 事实上 当用水彩画时 你不能从红色 绿色和蓝色中混合出黄色 而且如果混合橙色 你只会得到棕色 这就是我想要做的 根据两个给定的 RGB 颜色 我想计
  • 数字总和直到作为输入给出的数字

    如果给出一个数字作为输入 则找到该数字之前所有数字的总和 例如输入 11 则答案为 1 2 9 1 0 1 1 蛮力方法是计算所有小于某个数字的数字的数字之和 我已经实现了该方法 我想知道是否有其他方法可以在不实际计算每个数字的数字之和的情

随机推荐

  • 错误:专用 IP 需要 invalid_request device_id 和 device_name

    我正在使用 localhost 8080 使用 Google Drive API 进行开发 突然我想在我的本地部署沙箱中测试它 它的IP地址为 192 168 1 1 8080 据此 我更改了开发人员控制台客户端回调 URL 中的凭据 我正
  • .NET 参考源代码中的四个破折号组是什么?

    我正在浏览源码PluralizationService http referencesource microsoft com System Data Entity Design System Data Entity Design Plura
  • 在 g++ 中链接文件

    最近我尝试用g 在Ubuntu上 编译一个程序 通常我使用 Dev C 在 Windows 上 只要我创建一个项目并将所有必要的文件放入其中 它就可以正常工作 编译程序时出现的错误是 filename cpp undefined refer
  • 如何在ModelAdmin中使用InlinePanel?

    我正在设置一个需要使用多个子模型实例创建的模型 我希望能够在管理界面中编辑和创建此模型 因此我使用以下命令添加它ModelAdmin http docs wagtail io en v1 9 reference contrib modela
  • PHP 5.5中的password_hash函数

    我有以下函数 可以对密码进行哈希处理并将其存储在数据库中 我正在尝试使用 php 5 5 中的password hash 函数 但它给了我奇怪的结果 function hashpass password include includes c
  • 在 SugarCRM 中,将帐户所有权转让给其他用户不会更新联系人所有权

    我正在使用 SugarCRM v6 x 并发现当将帐户所有权转移给新的销售代表 分配的用户 ID 字段 时 联系人和其他相关子记录也不会转移 这是 SugarCRM 作者的实际设计选择吗 如果是 其背后的原因是什么 是否有推荐的帐户转移方法
  • Android 数字格式不知为何是错误的,我得到的不是 3.5,而是 3.499999999,为什么?

    我将一些数据存储在数据库中 然后使用游标读取这些数据 所有数据均为 56 45 3 04 0 03 类型 即小数点后两位 现在我想对它们求和 但这似乎并不容易 我得到这些数字c getDouble 3 然后我将它添加到 sum 变量中 如下
  • iOS 信号处理程序可以轻松收集哪些原因信息?

    我正在尝试向应用程序添加一些崩溃日志记录 并且我有一个signal设置处理程序以捕获标准 致命 信号 我可以在信号处理程序中实际 简单地收集哪些 原因 信息 如果有 以进行记录 我花了大约 2 小时谷歌搜索内容 但我找到的大部分内容都是针对
  • Java多线程和安全发布[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 看完之后 Java并发实践 http jcip net and OSGI 实践 http neilbartlett name blog osgi
  • PayPal API 监听器网站支付标准 URI

    PayPal IPN 指南文档说得很清楚 将请求发布到 www paypal com 或 www sandbox paypal com 具体取决于您是要在沙盒中上线还是测试您的侦听器 等待 PayPal 的响应 该响应要么已验证 要么无效
  • 在 MVC 中重用 WPF ViewModel 是否可行?

    我们有一个用 WPF WCF 编写的富客户端应用程序 并打算在 ASP net 中创建一个配套网站 如果可能 使用 MVC 我被要求弄清楚我们当前的代码库中有多少是可以重用的 由一个单独的团队 而且我对 ASP net 几乎没有经验 我们将
  • CSS 中的圆帽下划线

    你能用 CSS 制作圆形下划线 如上图所示 吗 如何 有没有办法做到这一点border bottom border radius相反 会产生这种时尚的效果 编辑 我误解了皮克想要什么 但这应该有效 test font size 50px b
  • 根据条件过滤数据集

    我正在使用 asp net 2 0 和 c 我有一个数据集 正在获取员工信息 现在我想根据用户在搜索文本框中输入的名称来过滤网格视图 我正在这样做 DataSet ds new DataSet EmployeeInformation loa
  • 使用VBA从Zip中删除一些特定文件[重复]

    这个问题在这里已经有答案了 在完整的宏观过程中 我正在创建一个Zip的文件Folder 该文件夹有多个子文件夹和文件 使用此代码 Dim oApp As Object NewZip s path acc name zip Set oApp
  • ORA-02289: 序列不存在,hibernbate 中出错

    ORA 02289 序列不存在 hibernbate 中出错 在 Oracle 中 您无法自动生成值 您应该创建一个序列 我们称之为 VEHICLE SEQ 然后你应该把这个注释放在你的 id 上 GeneratedValue strate
  • 在 fork() 之后寻求有关“文件描述符”的简单描述

    Unix 环境中的高级编程 第二版 作者 W Richard Stevens 第 8 3 节 fork 函数 描述如下 父级和子级共享相同的文件偏移量非常重要 考虑一个分叉子进程 然后等待子进程完成的进程 假设两个进程都写入标准输出作为其正
  • 使用选择器获取最接近的父元素(不包括当前元素)

    我正在尝试获取元素的最接近的父元素 看着 closest https developer mozilla org en US docs Web API Element closest 如果选择器与元素匹配 它似乎会返回元素本身 Closes
  • WEBHID API:条形码扫描仪未触发输入报告

    我几乎使用 Nintendo Switch Joy Con 控制器演示 我对其进行了一些修改以使其与我的条形码扫描仪一起使用 它就是行不通 如果行得通 则每 100 次站点刷新就会工作一次 console log text gt log t
  • 如何将 Mercurial 存储库克隆到已存在的目录中?

    我有一个客户的 Django 项目 正在本地开发 使用 Mercurial 进行版本控制 我将本地存储库推送到我的个人远程服务器 我保存所有项目的地方 然后当我部署它时 在任何 Web 服务器上 我从我的个人服务器克隆该存储库 这在大多数服
  • 作为颜色表示的值

    将值转换为颜色是众所周知的 我确实理解以下两种方法 在改变 RGB 颜色值来表示一个值 https stackoverflow com questions 1423925 changing rgb color values to repre