首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >colorTransform等价颜色矩阵

colorTransform等价颜色矩阵
EN

Stack Overflow用户
提问于 2011-04-19 16:49:56
回答 2查看 2K关注 0票数 0

我正在尝试将一个简单的FXG转换为SVG。转换非常简单,但我遇到了一个颜色处理问题。

FXG有一个灰色基础阴影路径,我在随后将此路径用于其他形状时应用了不同的颜色转换。

这里是FXG颜色转换(相当于colorTransform):

代码语言:javascript
复制
<ColorTransform redOffset="-255" blueOffset="25" greenOffset="56"/>

如何将这种颜色转换(甚至是负偏移量)转换为SVG可以理解的颜色?我只需要改变颜色偏移量,不需要倍增或alpha。

我认为它可以通过(看起来像这个SVG过滤器的工作方式类似于AS3 ColorMatrixFilter)来实现,但是我不知道如何实现。

因此,真正的一般性问题是如何将这些颜色偏移量更改转换为颜色矩阵滤镜?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-19 16:59:55

代码语言:javascript
复制
var matrix : Array = new Array();
matrix = matrix.concat([1,0,0,0,-255]);// red
matrix = matrix.concat([0,1,0,0,  56]);// green
matrix = matrix.concat([0,0,1,0,  25]);// blue
matrix = matrix.concat([0,0,0,1,   0]);// alpha
var colorFilter : ColorMatrixFilter = new ColorMatrixFilter(matrix);

最后一列是offset。

票数 1
EN

Stack Overflow用户

发布于 2011-04-29 01:32:33

Actionscript ColorTransform除了具有redMultipler、greenMultiplier、blueMultiplier和alphaMultiplier属性外,还具有rOffset、gOffset、bOffset和aOffset属性。

SVG feColorMatrix变为:

代码语言:javascript
复制
[
rMult/256, 0, 0, 0, rOffset/256,
0, gMult/256, 0, 0, gOffset/256,
0, 0, bMult/256, 0, bOffset/256,
0, 0, 0, aMult/256, aOffset/256
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5713830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档