カラー写真、カラーマトリックス中白鷺変更

参考:

画像処理:カラー行列と座標変換行列

Egret-フィルタ

 

インタビューの前に私は、画像の色を変更する方法を求めています。Flashは前に行われないための時間のように見える、白鷺を行った後、そのような需要が、それは研究されていない、ありません。

今、画像の色を変更する方法GETを取得します。

 

ディレクトリ

画像内のピクセルのカラー値

二つのフィルタ

三色行列

4つのシナリオ

 

画像内のピクセルのカラー値

ビットマップを作成し、印刷ビットマップのカラー値

聞かせてBM:egret.Bitmap =新しいegret.Bitmap(); 
bm.texture = RES.getRes( "preload_start_png")。  
this.addChild(BM)。
console.log(bm.texture.getPixels(0,0、bm.width、bm.height))。

 

 

輸出

 

あなたは、画像の色は、アレイによって保持されて見ることができます。画像の色を変更するには、私の最初に考えたのは、画像の色を変更することができます、配列内の値を変更することがありませんでした。しかし、白鷺は、配列の値を変更するためのインタフェースを提供し、その方法を与えるものではありません。

 

二つのフィルタ

絵淡色表示効果を追加するには

          聞かせてBM:egret.Bitmap =新しいegret.Bitmap(); 
          bm.texture = RES.getRes( "preload_start_png")。  
          this.addChild(BM)。
          console.log(bm.texture.getPixels(0,0、bm.width、bm.height))。

          VAR colorMatrix = [ 
            0.3,0.6,0,0,0、
            0.3,0.6,0,0,0、
            0.3,0.6,0,0,0、
            0,0,0,1,0 
        ]。
        VaRのcolorFlilter =新しいegret.ColorMatrixFilter(colorMatrix)。
        bm.filters = [colorFlilter]。

 

フィルタが使用されていない前に、

フィルタを使用した後

  

だから、テクスチャカラー値にそれを変更するか、フィルタを使用した後、私は、出力ビット

          聞かせてBM:egret.Bitmap =新しいegret.Bitmap(); 
          bm.texture = RES.getRes( "preload_start_png")。  
          this.addChild(BM)。
          console.log( "使用滤镜前:")
          はconsole.log(bm.texture.getPixels(0,0、bm.width、bm.height))。

          VAR colorMatrix = [ 
            0.3,0.6,0,0,0、
            0.3,0.6,0,0,0、
            0.3,0.6,0,0,0、
            0,0,0,1,0 
        ]。
        VaRのcolorFlilter =新しいegret.ColorMatrixFilter(colorMatrix)。
        bm.filters = [colorFlilter]。
        console.log( "使用滤镜后:"); 
        console.log(bm.texture.getPixels(0,0、bm.width、bm.height))。

 

出力色値が変化しないことが判明します。カラーフィルタを推測することは、最終的な画像にカラー行列を出力する前に、元の値に基づいています。 

 

 三色行列

 

私たちは、次のテストするために、いくつかの行列を使用しています。

 

元の色値:

A = [ 1,0,0,0,0,

        0,1,0,0,0,

        0,0,1,0,0,

        0,0,0,1,0 ]

 

得出结果是

R’  = R

G’  = G

B’  = B

A’  = A

 

 

变灰色:

A = [ 0.3,0.6,0,0,0,

        0.3,0.6,0,0,0,

        0.3,0.6,0,0,0,

        0,0,0,1,0 ]

 

得出结果是

R’  = 0.3*R + 0.6*G 

G’  = 0.3*R + 0.6*G

B’  = 0.3*R + 0.6*G

A’  = A

 

 

 增加亮度:

A = [ 1,0,0,0,100,

        0,1,0,0,100,

        0,0,1,0,0,

        0,0,0,1,0 ]

 

得出结果是

R’  = R + 100 

G’  = G + 100

B’  = B

A’  = A

 

 

 

 

 

四 应用场景

1. 游戏中禁止使用某个按钮,需要将按钮变灰时。

    平时都是美术出一个普通按钮和一个灰色按钮。

2. 游戏中使用多张相同图片,但是仅仅是图片颜色不同时。

    

 

おすすめ

転載: www.cnblogs.com/gamedaybyday/p/11308289.html