Actionscript 3 如何为所有像素着色\更改色调?

Actionscript 3 如何为所有像素着色\更改色调?,actionscript-3,flash,graphics,linear-algebra,Actionscript 3,Flash,Graphics,Linear Algebra,我试图理解如何复制Photoshop的着色功能程序。 我最初考虑使用颜色变换矩阵(Flash),但任何其他方法都是受欢迎的。虽然我的案例只是昙花一现,但这个问题适用于任何平台 我已经读到了关于旋转色调的信息,但这并不是我想要的 例如-给定此图像: 将输出色调旋转100 而着色可能会提供以下功能: 我怎样才能做到这一点呢?你可以使用着色器,这里有一个简单的方法: { input image4 src; parameter float redMultiplier; p

我试图理解如何复制Photoshop的着色功能程序。 我最初考虑使用颜色变换矩阵(Flash),但任何其他方法都是受欢迎的。虽然我的案例只是昙花一现,但这个问题适用于任何平台

我已经读到了关于旋转色调的信息,但这并不是我想要的

例如-给定此图像:

将输出色调旋转100

而着色可能会提供以下功能:

我怎样才能做到这一点呢?

你可以使用着色器,这里有一个简单的方法:

{
    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;    
    }
}

关于如何在flash中加入像素弯曲着色器

ColorMatrixFilter是关于均匀地更改值,而“colorize”似乎是将色调设置为固定值,将饱和度和亮度保持不变。我认为你应该在所有像素上使用HSB-RGB变换,并在变换回来之前将色调设置为某个值,而颜色矩阵过滤器在这里没有帮助。谢谢你的输入-这很有意义。我重新措辞了这个问题,你能详细说明你的代码吗?它是如何工作的?输入色调\饱和度在哪里?对不起,我想我误解了您想要更改HSB,而我给了您一个选择RGB值应用的解决方案。上述解决方案可能无法满足您的需要。基本上,它所做的是评估照片的每个像素,并通过将指定值添加到红色、蓝色和绿色组件中来修改它。事实上,像素弯曲着色器可以完成这项工作,我制作了一个着色器,将色调设置为特定值,使色调在特定范围内的像素具有特定的色调。问题是,由于Flash播放器11.8版本的像素弯曲器不仅被贬低,而且停止足够快,可以考虑进一步使用它们。Adobe决定不修复这一性能下降的问题,在他们的地址中引起了极大的愤怒,但却将所有PB用户甩在了脑后。放弃基于处理器的着色器这样的先进技术也让我很伤心。Adobe说使用AGAL或Stage3D着色器。@Vesper,我不知道Flash不赞成使用Pixel Bender着色器。这似乎是一个短视的举动。感谢您提供有关AGAL&Stage3D的提示!