如何着色\更改所有像素的色调?

时间:2013-12-19 10:21:50

标签: actionscript-3 flash graphics linear-algebra

我正在尝试了解如何复制Photoshop的着色功能程序。 我最初考虑使用颜色转换矩阵(Flash的ColorMatrixFilter),但欢迎任何其他方法。虽然我的案例是在Flash中,但问题仍适用于任何平台。

enter image description here

我已阅读Paul Haeberli's essay on Matrix Operations for Image Processing,其中有关旋转色调的信息非常丰富,还有this implementation,但这并不是我正在寻找的。

例如 - 鉴于此图片:

enter image description here

将输出100的色调旋转 enter image description here

虽然着色可能会提供如下内容:

enter image description here

我怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:0)

您可以使用Pixel Bender着色器,这是一个简单的着色器:

{
    input image4 src;
    parameter float redMultiplier;
    parameter float greenMultiplier;
    parameter float blueMultiplier;
    output pixel4 dst;

    void
    evaluatePixel()
    {
        pixel4 pixel = sampleNearest(src,outCoord());

        pixel.r += redMultiplier;
        pixel.g += greenMultiplier;
        pixel.b += blueMultiplier;
        dst = pixel;    
    }
}

Here's a tutorial关于如何在闪光灯中加入Pixel Bender着色器