- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
问题:我想在 javascript 中混合两种颜色,并得到结果颜色。SO 上有很多类似的问题,但是我没有发现任何实际工作正常的问题。我知道混合两种不同颜色的油漆(颜料)和灯光会产生非常不同的结果(http://en.wikipedia.org/wiki/Color_mixing)。
以下是我已经看到并尝试实现的问题和建议的解决方案:
1: Mixing two RGB color vectors to get resultant
因此,在 RGB 中混合颜色。我实现了它,在某些情况下它可以工作,但在某些情况下却不能。
工作示例:将 red
与 yellow
-> orange
混合。太棒了!
http://jsbin.com/afomim/1/edit
不工作的例子:混合 blue
和 yellow
-> gray
。不太好! :) http://jsbin.com/afomim/5/edit
我知道在 RGB 中,将 blue
与 yellow
混合永远不会变成 green
,我明白为什么。
我们不会在这里找到答案,让我们继续前进。
2: Adding Colours (Colors) Together like Paint (Blue + Yellow = Green, etc)
让我们尝试按照本次讨论中的建议使用 CMYK 值。将 cyan
与 yellow
混合得到 green
:
http://jsbin.com/igaveg/1/edit
但将 blue
与 yellow
混合会得到 black
。
http://jsbin.com/igaveg/2/edit -> 不工作!
3: How to mix colors "naturally" with C#?
一个非常相似的问题。投票最多的答案建议将颜色转换为 LAB,这个解决方案看起来很有希望。
所以我将颜色转换为 LAB。转换算法是正确的,我测试了!
http://jsbin.com/oxefox/1/edit
现在我在 LAB 中有两种颜色,但是如何混合它们呢?
注意 我知道我可能找不到将 blue
与 yellow
混合并给出完美的 green< 的算法
,但我希望我能生成类似于绿色的东西:)
最佳答案
我花了 3-4 天的时间来回答这个问题。这是一个非常复杂的问题。
如果你想“自然地”混合两种颜色,你可以这样做:
CMYK 混合:这不是完美的解决方案,但如果您现在需要一个解决方案,并且不想花数月时间学习该主题、进行实验和编码,您可以查看:https://github.com/AndreasSoiron/Color_mixer
实现 Kubelka-Munk 理论。我花了很多时间阅读它,并试图理解它。如果你想要一个专业的解决方案,这应该是可行的方法,但它需要为你想要混合的每种颜色提供 6 个参数(如反射率、吸收率等)。仅有 R、G、B 是不够的。实现该理论并不难,但似乎缺少关于每种颜色的参数。如果你知道怎么做,请告诉我:)
实验:您可以做 ipad 应用程序的开发人员所做的事情:Paper。他们手动选择了 100 对流行颜色,并用眼球测试了它们应该如何混合。详细了解它 here。
我个人暂时会实现 CMYK 混合,也许以后,如果我有时间,我会尝试制作像 Fiftythree 的那些人那样的东西。会看到:)
关于javascript - 在javascript中混合两种颜色 "naturally",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14819058/
我有一个关于使用的类型的性质的理论问题 很多解释 Coyoneda 引理的例子。它们通常被称为 作为“自然变换”,据我所知,仿函数之间的映射。 令我困惑的是,在这些示例中,它们有时映射自 Set。到某
这是一个小设计,在自然键上具有常见的 NOT NULL UNIQUE 约束: CREATE TABLE 'users' { id int(10) NOT NULL AUTO_INCREMENT
下面是代码 postgres=# SELECT title,name,borrower.address WHERE library_branch NATURAL JOIN book NATURAL J
问题:我想在 javascript 中混合两种颜色,并得到结果颜色。SO 上有很多类似的问题,但是我没有发现任何实际工作正常的问题。我知道混合两种不同颜色的油漆(颜料)和灯光会产生非常不同的结果(ht
在我的应用程序中,我有一个用于输入 url 的编辑文本,然后编辑文本具有: android:imeOptions="actionDone" 因此,当有人按下键盘的回车键时,应用程序会连接并且键盘会消失
问题:我想在 javascript 中混合两种颜色,并得到结果颜色。SO 上有很多类似的问题,但是我没有发现任何实际工作正常的问题。我知道混合两种不同颜色的油漆(颜料)和灯光会产生非常不同的结果(ht
C-x C-b 显示缓冲区列表。首先是自然顺序,最近使用的缓冲区在顶部,隐藏的缓冲区在底部。 在那里,我现在可以按名称、大小、模式和文件对缓冲区进行排序。但是一旦我点击了这样的选项,我就无法回到原来的
我最近看到了一种叫做 supernova 的编程语言他们在网页上说: The Supernova Programming language is a modern scripting language
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我一直在使用带有附加类型级奇偶校验信息的自然数。 succ 已以最直接的方式成功实现: succ :: Natural p -> Natural (Opp p) succ = Succ 但是,我仍然在
我正在阅读有关 SQL 连接的 NATURAL 速记形式的内容,我发现了一些陷阱: 它只是自动获取所有相同命名的列对(使用 USING 指定显式列列表) 如果添加了一些新列,那么连接输出也可能会“意外
我对 lambda 演算中的自然数有如下定义,这是我的主要目标。 -- Apply a function n times on x apply = \f -> \n -> \x -> foldr ($
我正在尝试按标题对数据库中的项目进行排序。商品有 iphone 5、iphone 6/6S、iphone 11、.. 当我用代码对项目进行排序时 SELECT * FROM ".FPD_PRODUCT
我需要为我的 Web 应用程序对较大的数组(1000-2000 个键)进行复杂的排序。我在 Safari 12.0/FF 66.0 中可以正常使用它,但 chrome 74.0 似乎完全可以做其他事情
我有三个这样描述的表: +----------+ +-----------------+ +----------+ | products | | products_stores |
我创建了一个函数“ADD”来修改变量的值: function ADD(xs, n) { var nom_variable = xs; var XS = eval(xs); no
The Third Commandment的 The Little Schemer状态: When building a list, describe the first typical elemen
我刚看到this我想知道实现这样的自然排序的最佳方法是什么? 通常在 1,4,11,12 列表中,字符串排序(用于列表项)返回 1,11,12,4。如何实现自然排序? 最佳答案 元素也可以是 [ 's
我编写了一些采用异构列表并为其编制索引的代码。 {-# Language GADTs, FunctionalDependencies, MultiParamTypeClasses, KindSigna
所以这个想法是计算机代理将被编程为两层,有意识的和无意识的。 无意识部分本质上是一组输入和输出设备,我通常认为它们是传感器(键盘、温度等,你的想象力的极限)和输出方法(屏幕和扬声器,特别是在家用 PC
我是一名优秀的程序员,十分优秀!