渐变映射滤镜 - AS3的Pixel Bender

时间:2010-08-04 01:47:51

标签: actionscript-3 flash flex flash-builder

我需要一些帮助才能在Pixel Bender for AS3中创建一个过滤器,以便在此图像的右侧产生此效果:

http://a.imageshack.us/img829/1488/gradientmap.jpg

你能帮助我吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

有什么理由需要在Pixel Bender中完成吗?您可以通过覆盖图像的一半来获得相同的效果,其中黑色矩形设置为大约80%的不透明度。如果您需要对效果进行任何额外调整,则可以将填充模式应用于填充。

答案 1 :(得分:0)

有点晚了,但这似乎可以解决问题:

<languageVersion : 1.0;>

kernel Darken
<   namespace : "omino";
    vendor : "omino";
    version : 1;
    description : "darken the right part of an image";
>
{
    input image4 src;
    output pixel4 dst;

    parameter float leftEdgeOfEffect <minValue: 0.0 ; maxValue: 2000.0; defaultValue: 200.0;>;
    parameter float darkness <minValue: 0.0 ; maxValue: 1.0; defaultValue: 0.75;>;

    void
    evaluatePixel()
    {
        float2 co = outCoord();
        pixel4 p = sampleNearest(src,co);
        if(co.x >= leftEdgeOfEffect)
            p.rgb = p.rgb * (1.0 - darkness);
        dst = p;
    }
}

实际的像素操作发生在这里:    p.rgb = p.rgb *(1.0 - 黑暗);

它只是使R,G和B变暗。你可能会变得更加棘手,以获得更有趣的效果。