静岡理工科大学 菅沼ホーム ActionScript 目次 索引

ColorMatrixFilter クラス

[内容]

  各ピクセルの色を入力された 4 行 5 列の行列 A に従って変更します.この行列の要素を aij とすると,変更は以下のようにして行われます.
	新 R = a11 × R + a12 × G + a13 × B + a14 × A + a15
	新 G = a21 × R + a22 × G + a23 × B + a24 × A + a25
	新 B = a31 × R + a32 × G + a33 × B + a34 × A + a35
	新 A = a41 × R + a42 × G + a43 × B + a44 × A + a45
		
継承: ColorMatrixFilter → BitmapFilter → Object

[プロパティ]

[メソッド]

[使用例]

  1. ColorMatrixFilter フィルタの使用例」と,そのプログラム( ColorMatrixFilter_e.as )です.
    package
    {
    	import flash.display.Sprite;
    	import flash.display.Bitmap;
    	import flash.display.BitmapData;
    	import flash.filters.ColorMatrixFilter;
    
    	[SWF(backgroundColor="0xeeffee", width="300", height="200", frameRate="20")]
    
    	public class ColorMatrixFilter_e extends Sprite
    	{
    		public function ColorMatrixFilter_e()
    		{
    			init();
    		}
    		
    		private function init():void
    		{
    			var x1 : int, y1 : int;
    			var bmd1 : BitmapData = new BitmapData(stage.stageWidth/2, stage.stageHeight, true, 0x00000000);
    			for(x1 = 25; x1 <= 125; x1++) {
    				for(y1 = 50; y1 <= 150; y1++)
    					bmd1.setPixel32(x1, y1, 0xff00ff00);
    			}
    			var bmd2 : BitmapData = bmd1.clone();
    			var bm1 : Bitmap = new Bitmap(bmd1);
    			var bm2 : Bitmap = new Bitmap(bmd2);
    			bm2.x = 150;
    			var a : Array = [0, 1, 0, 0, 0,
    							 0, 1, 0, 0, 0,
    							 0, 0, 1, 0, 0,
    							 0, 0, 0, 1, 0];
    			bm2.filters = [new ColorMatrixFilter(a)];
    			addChild(bm1);
    			addChild(bm2);
    		}
    	}
    }
    			

[参照]

Bitmap クラスBitmapData クラスBitmapFilter クラス

静岡理工科大学 菅沼ホーム ActionScript 目次 索引