0

如何替换图像的选定像素?我使用了设置像素和获取像素的概念,但没有得到想要的效果。 http://www.digital-photography-school.com/wp-content/uploads/2009/07/before-after.jpg

var s_color = 0x0083C7;
color_picker.addEventListener(ColorPickerEvent.CHANGE, changeColor);
function changeColor(ColorPickerEvent)
{
var _color = color_picker.selectedColor.toString(16);
var color = String("0x"+_color);

for (var j = 0; j <m_inputImage.width; j++)
{
    for (var k = 0; k < m_inputImage.height; k++)
    {

        if (m_inputImage.getPixel(j,k)== s_color)
        {
            m_inputImage.setPixel(j,k,color);
        }

    }
}
s_color = color;
}

我想要类似的类型效果。请指导我。

4

2 回答 2

1

这不是 BitmapData 的工作,您应该为此使用 Pixelbender。 http://www.adobe.com/devnet/flash/articles/pixel_bender_basics.html

你可以在这里找到所有的着色器,有很多色相/饱和度和颜色处理过滤器,所以选择一个最适合你的。 http://www.adobe.com/cfusion/exchange/index.cfm?event=productHome&exc=26&loc=en_us

于 2013-04-11T09:21:50.587 回答
0

我会使用 Photoshop 而不是 Flash 来实现您想要的效果。

但是 Photoshop 有点贵,所以我会结合使用Bitmap类和BitmapData类,并使用一种算法来遍历每个像素并检查某个红色阈值并将其转换为正确的黄色阈值。如果您发布您已经编写的代码,我可能会添加到其中,不过我不会花下一个小时来编写示例。

于 2013-04-11T06:48:21.257 回答