You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.9 KiB
49 lines
1.9 KiB
[bilinearInterpolateColorGradient(7)]
|
|
args = x,y,col00,colX0,col0Y,colXY,outcolorfieldname
|
|
definition = | eval _x = $x$\
|
|
| eval _y = $y$\
|
|
| eval _col00 = $col00$\
|
|
| eval _colX0 = $colX0$\
|
|
| eval _col0Y = $col0Y$\
|
|
| eval _colXY = $colXY$\
|
|
`interpolateColor(_col00, _colX0, _x, "_outcolorB")`\
|
|
`interpolateColor(_col0Y, _colXY, _x, "_outcolorT")`\
|
|
`interpolateColor(_outcolorB, _outcolorT, _y, "_outcolor")`\
|
|
| eval $outcolorfieldname$ = _outcolor
|
|
iseval = 0
|
|
|
|
[genColorFromComponents(4)]
|
|
args = red,green,blue,outcolorfieldname
|
|
definition = | eval _red = $red$\
|
|
| eval _green = $green$\
|
|
| eval _blue = $blue$\
|
|
| eval _outcolor = "#" + upper(printf("%02x", _red)) + upper(printf("%02x", _green)) + upper(printf("%02x", _blue))\
|
|
| eval $outcolorfieldname$ = _outcolor
|
|
iseval = 0
|
|
|
|
[interpolateColor(4)]
|
|
args = col1,col2,lerpt,outcolorfieldname
|
|
definition = | eval _col1 = $col1$\
|
|
| eval _col2 = $col2$\
|
|
| eval _lerpt = $lerpt$\
|
|
| eval _outcolor = "#ZZZZZZ"\
|
|
| eval _lerpt = if(_lerpt > 1, 1.0, _lerpt)\
|
|
| eval _lerpt = if(_lerpt < 0.0, 0.0, _lerpt)\
|
|
`splitColorIntoComponents(_col1, "_col1r", "_col1g", "_col1b")`\
|
|
`splitColorIntoComponents(_col2, "_col2r", "_col2g", "_col2b")`\
|
|
| eval _deltaRed = _col2r - _col1r, _deltaGreen = _col2g - _col1g, _deltaBlue = _col2b - _col1b\
|
|
| eval _outRed = _col1r + _lerpt * _deltaRed, _outGreen = _col1g + _lerpt * _deltaGreen, _outBlue = _col1b + _lerpt * _deltaBlue\
|
|
`genColorFromComponents(_outRed, _outGreen, _outBlue, "_outcolor")`\
|
|
| eval $outcolorfieldname$ = _outcolor
|
|
iseval = 0
|
|
|
|
[splitColorIntoComponents(4)]
|
|
args = color, outfieldname_red,outfieldname_green,outfieldname_blue
|
|
definition = | eval _color = $color$\
|
|
| rex field=_color "^#(?<_red>[0-9a-zA-Z]{2,2})(?<_green>[0-9a-zA-Z]{2,2})(?<_blue>[0-9a-zA-Z]{2,2})$"\
|
|
| eval _red = tonumber(_red, 16), _green = tonumber(_green, 16), _blue = tonumber(_blue, 16)\
|
|
| eval $outfieldname_red$ = _red\
|
|
| eval $outfieldname_green$ = _green\
|
|
| eval $outfieldname_blue$ = _blue
|
|
iseval = 0
|