0

画像の選択したピクセルを置き換えるにはどうすればよいですか? set pixel と get pixel の概念を使用しましたが、目的の効果が得られませんでした。 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

Flash の代わりに Photoshop を使用して、希望する効果を実現します。

ただし、Photoshop はちょっと高価なので、BitmapクラスをBitmapDataクラスと組み合わせて使用​​し、アルゴリズムを使用して各ピクセルを実行し、特定の赤のしきい値をチェックして、適切な黄色のしきい値に変換します。すでに書いたコードを投稿していただければ、それに追加することもできますが、次の 1 時間で例を書くつもりはありません。

于 2013-04-11T06:48:21.257 に答える