[AS3]ColorMatrixFilterメモ
by admin
行列で書くとわかりやすい。ColorMatrixFilter(引数a0 – a19の計20個!)による元のピクセル値(R, G, B, alpha)とフィルター処理後のピクセル値(R_new, G_new, B_new, alpha_new)の関係は以下の通り。

theDisplayObject(DisplayObjectのサブクラス or BitmapDataクラス)に上記フィルターをかける場合は以下の通り。
import flash.filters.ColorMatrixFilter;
var matrix:Array = new Array();
matrix = matrix.concat([a0,a1,a2,a3,a4]); //R
matrix = matrix.concat([a5,a6,a7,a8,a9]); //G
matrix = matrix.concat([a10,a11,a12,a13,a14]); //B
matrix = matrix.concat([a15,a16,a17,a18,a19]); //alpha
var f:ColorMatrixFilter = new ColorMatrixFilter(matrix);
theDisplayObject.filters = [f];
ColorMatrixFilter クラスを使用すると、入力イメージの各ピクセルの RGBA カラー値とアルファ値に 4 × 5 マトリックス変換を適用することで、新しい RGBA カラー値とアルファ値から成る結果を作成できます。
[関連リンク]
幕末古写真ジェネレータをハックする – てっく煮ブログ
[...] 以下参考 ・Mario Klingemann氏のColorMatrixクラスのAS3バージョン ・■[as3] flash.filters.ColorMatrixFilter ・ColorMatrixFilter ・[AS3]ColorMatrixFilterメモ – boreal-kiss.com [...]