全件検索で「クラス」を検索した結果、66件ヒットしました。

ColorMatrixFilter (flash.filters.ColorMatrixFilter) クラス

使用可能バージョン【FlashPlayer8 】
使用可能ActionScriptバージョン【ActionScript1.0 】

public class ColorMatrixFilter
extends BitmapFilter

ColorMatrixFilter クラスを使用すると、入力イメージの各ピクセルの RGBA カラー値とアルファ値に 4×5 マトリックス変換を適用することで、新しい RGBA カラー値とアルファ値からなる結果を作成できます。これにより、彩度変更、色相回転、輝度アルファ変換など、各種効果を行うことができます。このフィルタは、ビットマップと MovieClip のインスタンスに適用できます。

フィルタの使い方は、フィルタの適用先オブジェクトによって異なります。

ムービークリップやボタンにフィルタを適用する場合は、ムービークリップやボタンの cacheAsBitmap プロパティを true に設定します。すべてのフィルタをクリアすると、cacheAsBitmap は元の値に戻ります。

次の式が使用されます。ここで、a[0] ~ a[19] は 20 個の要素を持つ配列プロパティマトリックスのエントリ 0 ~ 19 に対応します。

redResult = a[0] * srcR + a[1] * srcG + a[2] * srcB + a[3] * srcA + a[4]
greenResult = a[5] * srcR + a[6] * srcG + a[7] * srcB + a[8] * srcA + a[9]
blueResult = a[10] * srcR + a[11] * srcG + a[12] * srcB + a[13] * srcA + a[14]
alphaResult = a[15] * srcR + a[16] * srcG + a[17] * srcB + a[18] * srcA + a[19]

このフィルタにより、元の各ピクセルが赤、緑、青、アルファの各成分 (srcR、srcG、srcB、srcA) に分解されます。最後の手順で、カラー成分が 1 つのピクセルに再び結合され、結果が出力されます。

この計算は、乗算されていないカラー値に対して実行します。入力グラフィックが乗算済みカラー値で構成される場合は、この処理のために、乗算済みのカラー値が乗算されていないカラー値に自動的に変換されます。

次の 2 つの最適化モードを使用できます。

アルファのみ。ここに示すようにアルファ成分のみを調整するマトリックスをフィルタに渡すと、フィルタによりそのパフォーマンスが最適化されます。

1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 N 0 (where N is between 0.0 and 1.0)

高速バージョン。Pentium 3 以降、Apple G4 以降など、SSE/Altivec アクセラレータ対応のプロセッサでのみ使用できます。アクセラレータは、乗数項の範囲が -15.99 ~ 15.99 で、加算項 [4]、a[9]、a[14]、および a[19] の範囲が -8000 ~ 8000 の場合に使用されます。

結果として得られるイメージの幅または高さが 2880 ピクセルを超える場合、フィルタは適用されません。たとえば、フィルタが適用されたサイズの大きいムービークリップをズームインする場合、結果として得られるイメージが 2880 ピクセルの制限を超える場合には、フィルタはオフになります。

次の例では、BitmapFilter を使用して、マウスポインタの位置を基にイメージのカラーのサイズを操作します。
ポインタを左上隅 (0,0) に置いた場合、イメージは変更されません。
ポインタを右に移動するに従って、緑と青のチャンネルがともにイメージから削除されます。
ポインタを下に移動するに従って、赤のチャンネルが削除されます。ポインタをステージの右下に置くと、イメージは完全な黒になります。
この例では、リンケージ識別子が "YourImageLinkage" に設定されたイメージがライブラリにあると仮定しています。

import flash.filters.BitmapFilter;
import flash.filters.ColorMatrixFilter;

var image:MovieClip = this.attachMovie("YourImageLinkage", "YourImage", this.getNextHighestDepth());
image.cacheAsBitmap = true;

var listener:Object = new Object();
listener.image = image;
listener.onMouseMove = function() {
var xPercent:Number = 1 - (_xmouse/Stage.width);
var yPercent:Number = 1 - (_ymouse/Stage.height);
var matrix:Array = new Array();
matrix = matrix.concat([yPercent, 0, 0, 0, 0]); // red
matrix = matrix.concat([0, xPercent, 0, 0, 0]); // green
matrix = matrix.concat([0, 0, xPercent, 0, 0]); // blue
matrix = matrix.concat([0, 0, 0, 1, 0]); // alpha

var filter:BitmapFilter = new ColorMatrixFilter(matrix);
image.filters = new Array(filter);
}

Mouse.addListener(listener);
listener.onMouseMove();

プロパティ一覧

オプションプロパティ説明
matrix:Array4×5カラー変換用の20エレメントの配列です。

コンストラクタ一覧

署名説明
ColorMatrixFilter(matrix:Array)指定されたパラメータで新しいColorMatrixFilterインスタンスを初期化します。

メソッド一覧

オプション署名説明
clone():ColorMatrixFilterこのフィルタオブジェクトのコピーを返します。

ColorMatrixFilter (flash.filters.ColorMatrixFilter) クラスのページトップへ