相关疑难解决方法(0)

从RGB获得Hue的最快公式

如果给出的红色,绿色和蓝色值范围为0-255,那么获得色调值的最快计算是什么?该公式将以30fps(每秒920万次)用于640x480图像的每个像素,因此每一点速度优化都有帮助.

我见过其他公式,但我不满意他们涉及多少步骤.我正在寻找一个实际的公式,而不是内置的库函数.

rgb colors

23
推荐指数
3
解决办法
3万
查看次数

为什么+ 180deg和-180deg的色调旋转不会产生原始颜色?

通过阅读HSL/HSV色彩理论,我得到的印象是色调分量是一个循环属性,每360度重复一次,并且可以独立于饱和度和亮度/值进行更改.如果我错了,请纠正我,但这些陈述逻辑上遵循先前的定义:

  1. 旋转色调360度产生相同的颜色
  2. 将色调旋转180度两次产生原始颜色
  3. 将色调旋转180度,然后旋转-180度,得到原始颜色

但是,只有选项1是正确的.旋转色调4次+90度会产生与原始颜色甚至不相似的颜色.

此外,使用-webkit-filter和SVG

<filter><feColorMatrix in="SourceGraphic" type="hueRotate" values="..." /></filter>
Run Code Online (Sandbox Code Playgroud)

不要为相同的旋转产生相同的结果.另一方面,SVG过滤器生成的颜色在浏览器中是一致的.

是否存在色调旋转的"隐藏"属性,使操作不相关?


webkit过滤器和SVG的示例可以在这里找到:http://jsfiddle.net/maros_urbanec/ARsjb/5/

graphics hsl svg colors svg-filters

12
推荐指数
2
解决办法
2999
查看次数

色调旋转滤镜背后的确切数学原理是什么

理论上,对于每个可能的颜色更改 css过滤器函数(如grayscaleinvertopacitysaturate),sepia都存在可通过 svg 过滤器实现的等效转换feColorMatrix实际上这里描述了几乎所有此类操作。

例如,棕褐色是以下内容的简写:

<filter id="sepia">
  <feColorMatrix type="matrix"
             values="(0.393 + 0.607 * [1 - amount]) (0.769 - 0.769 * [1 - amount]) (0.189 - 0.189 * [1 - amount]) 0 0
                     (0.349 - 0.349 * [1 - amount]) (0.686 + 0.314 * [1 - amount]) (0.168 - 0.168 * [1 - amount]) 0 0
                     (0.272 - 0.272 * [1 - amount]) (0.534 - …
Run Code Online (Sandbox Code Playgroud)

svg svg-filters

8
推荐指数
0
解决办法
1169
查看次数

标签 统计

colors ×2

svg ×2

svg-filters ×2

graphics ×1

hsl ×1

rgb ×1