【发布时间】:2010-08-04 01:47:51
【问题描述】:
我需要一些帮助才能在 Pixel Bender for AS3 中创建一个过滤器,以便在此图像的右侧产生这种效果:
http://a.imageshack.us/img829/1488/gradientmap.jpg
你能帮帮我吗?
谢谢。
【问题讨论】:
标签: actionscript-3 flash apache-flex flash-builder
我需要一些帮助才能在 Pixel Bender for AS3 中创建一个过滤器,以便在此图像的右侧产生这种效果:
http://a.imageshack.us/img829/1488/gradientmap.jpg
你能帮帮我吗?
谢谢。
【问题讨论】:
标签: actionscript-3 flash apache-flex flash-builder
有什么理由需要在 Pixel Bender 中完成吗?用设置为大约 80% 不透明度的黑色矩形覆盖图像的一半,您可能会获得相同的效果。如果您需要对效果进行任何额外的调整,对填充应用混合模式可能会奏效。
【讨论】:
有点晚了,但这似乎可以解决问题:
<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 变暗。你可以在这里变得更棘手以获得更有趣的效果。
【讨论】: