静岡理工科大学 | 菅沼ホーム | ActionScript 目次 | 索引 |
// 色の加算 package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMode; import flash.geom.Rectangle; [SWF(backgroundColor="0xffffff", width="300", height="150", frameRate="30")] public class BlendMode_add extends Sprite { public function BlendMode_add() { init(); } private function init():void { // 適用前 var bmd1 : BitmapData = new BitmapData(100, 75, true, 0xffffffff); bmd1.fillRect(new Rectangle(0,0,100,25), 0xffff0000); bmd1.fillRect(new Rectangle(0,25,100,25), 0xff00ff00); bmd1.fillRect(new Rectangle(0,50,100,25), 0xff0000ff); var bm1 : Bitmap = new Bitmap(bmd1); bm1.x = 25; bm1.y = 50; addChild(bm1); var bmd2 : BitmapData = new BitmapData(75, 100, true, 0xffffffff); bmd2.fillRect(new Rectangle(0,0,25,100), 0xffff0000); bmd2.fillRect(new Rectangle(25,0,25,100), 0xff00ff00); bmd2.fillRect(new Rectangle(50,0,25,100), 0xff0000ff); var bm2 : Bitmap = new Bitmap(bmd2); bm2.x = 50; bm2.y = 25; addChild(bm2); // 適用後 var bmd3: BitmapData = bmd1.clone(); var bm3 : Bitmap = new Bitmap(bmd3); bm3.x = 175; bm3.y = 50; addChild(bm3); var bmd4 : BitmapData = bmd2.clone(); var bm4 : Bitmap = new Bitmap(bmd4); bm4.x = 200; bm4.y = 25; bm4.blendMode = BlendMode.ADD; addChild(bm4); } } } // 大きい方からの色の差 package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMode; import flash.geom.Rectangle; [SWF(backgroundColor="0xffffff", width="300", height="150", frameRate="30")] public class BlendMode_difference extends Sprite { public function BlendMode_difference() { init(); } private function init():void { // 適用前 var bmd1 : BitmapData = new BitmapData(100, 75, true, 0xffffffff); bmd1.fillRect(new Rectangle(0,0,100,25), 0xffff0000); bmd1.fillRect(new Rectangle(0,25,100,25), 0xff00ff00); bmd1.fillRect(new Rectangle(0,50,100,25), 0xff0000ff); var bm1 : Bitmap = new Bitmap(bmd1); bm1.x = 25; bm1.y = 50; addChild(bm1); var bmd2 : BitmapData = new BitmapData(75, 100, true, 0xffffffff); bmd2.fillRect(new Rectangle(0,0,25,100), 0xffff0000); bmd2.fillRect(new Rectangle(25,0,25,100), 0xff00ff00); bmd2.fillRect(new Rectangle(50,0,25,100), 0xff0000ff); var bm2 : Bitmap = new Bitmap(bmd2); bm2.x = 50; bm2.y = 25; addChild(bm2); // 適用後 var bmd3: BitmapData = bmd1.clone(); var bm3 : Bitmap = new Bitmap(bmd3); bm3.x = 175; bm3.y = 50; addChild(bm3); var bmd4 : BitmapData = bmd2.clone(); var bm4 : Bitmap = new Bitmap(bmd4); bm4.x = 200; bm4.y = 25; bm4.blendMode = BlendMode.DIFFERENCE; addChild(bm4); } } } // 背景色からの差 package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMode; import flash.geom.Rectangle; [SWF(backgroundColor="0xffffff", width="300", height="150", frameRate="30")] public class BlendMode_subtract extends Sprite { public function BlendMode_subtract() { init(); } private function init():void { // 適用前 var bmd1 : BitmapData = new BitmapData(100, 75, true, 0xffffffff); bmd1.fillRect(new Rectangle(0,0,100,25), 0xffff0000); bmd1.fillRect(new Rectangle(0,25,100,25), 0xff00ff00); bmd1.fillRect(new Rectangle(0,50,100,25), 0xff0000ff); var bm1 : Bitmap = new Bitmap(bmd1); bm1.x = 25; bm1.y = 50; addChild(bm1); var bmd2 : BitmapData = new BitmapData(75, 100, true, 0xffffffff); bmd2.fillRect(new Rectangle(0,0,25,100), 0xffff0000); bmd2.fillRect(new Rectangle(25,0,25,100), 0xff00ff00); bmd2.fillRect(new Rectangle(50,0,25,100), 0xff0000ff); var bm2 : Bitmap = new Bitmap(bmd2); bm2.x = 50; bm2.y = 25; addChild(bm2); // 適用後 var bmd3: BitmapData = bmd1.clone(); var bm3 : Bitmap = new Bitmap(bmd3); bm3.x = 175; bm3.y = 50; addChild(bm3); var bmd4 : BitmapData = bmd2.clone(); var bm4 : Bitmap = new Bitmap(bmd4); bm4.x = 200; bm4.y = 25; bm4.blendMode = BlendMode.SUBTRACT; addChild(bm4); } } } // オブジェクト色と背景色の乗算 package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMode; import flash.geom.Rectangle; [SWF(backgroundColor="0xffffff", width="300", height="150", frameRate="30")] public class BlendMode_multiply extends Sprite { public function BlendMode_multiply() { init(); } private function init():void { // 適用前 var bmd1 : BitmapData = new BitmapData(100, 75, true, 0xffffffff); bmd1.fillRect(new Rectangle(0,0,100,25), 0xffff0000); bmd1.fillRect(new Rectangle(0,25,100,25), 0xff00ff00); bmd1.fillRect(new Rectangle(0,50,100,25), 0xff0000ff); var bm1 : Bitmap = new Bitmap(bmd1); bm1.x = 25; bm1.y = 50; addChild(bm1); var bmd2 : BitmapData = new BitmapData(75, 100, true, 0xffffffff); bmd2.fillRect(new Rectangle(0,0,25,100), 0xffff0000); bmd2.fillRect(new Rectangle(25,0,25,100), 0xff00ff00); bmd2.fillRect(new Rectangle(50,0,25,100), 0xff0000ff); var bm2 : Bitmap = new Bitmap(bmd2); bm2.x = 50; bm2.y = 25; addChild(bm2); // 適用後 var bmd3: BitmapData = bmd1.clone(); var bm3 : Bitmap = new Bitmap(bmd3); bm3.x = 175; bm3.y = 50; addChild(bm3); var bmd4 : BitmapData = bmd2.clone(); var bm4 : Bitmap = new Bitmap(bmd4); bm4.x = 200; bm4.y = 25; bm4.blendMode = BlendMode.MULTIPLY; addChild(bm4); } } } // オブジェクト色と背景色の補数どうしの乗算 package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMode; import flash.geom.Rectangle; [SWF(backgroundColor="0xffffff", width="300", height="150", frameRate="30")] public class BlendMode_screen extends Sprite { public function BlendMode_screen() { init(); } private function init():void { // 適用前 var bmd1 : BitmapData = new BitmapData(100, 75, true, 0xffffffff); bmd1.fillRect(new Rectangle(0,0,100,25), 0xffff0000); bmd1.fillRect(new Rectangle(0,25,100,25), 0xff00ff00); bmd1.fillRect(new Rectangle(0,50,100,25), 0xff0000ff); var bm1 : Bitmap = new Bitmap(bmd1); bm1.x = 25; bm1.y = 50; addChild(bm1); var bmd2 : BitmapData = new BitmapData(75, 100, true, 0xffffffff); bmd2.fillRect(new Rectangle(0,0,25,100), 0xffff0000); bmd2.fillRect(new Rectangle(25,0,25,100), 0xff00ff00); bmd2.fillRect(new Rectangle(50,0,25,100), 0xff0000ff); var bm2 : Bitmap = new Bitmap(bmd2); bm2.x = 50; bm2.y = 25; addChild(bm2); // 適用後 var bmd3: BitmapData = bmd1.clone(); var bm3 : Bitmap = new Bitmap(bmd3); bm3.x = 175; bm3.y = 50; addChild(bm3); var bmd4 : BitmapData = bmd2.clone(); var bm4 : Bitmap = new Bitmap(bmd4); bm4.x = 200; bm4.y = 25; bm4.blendMode = BlendMode.SCREEN; addChild(bm4); } } } // 暗い方の値を選択 package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMode; import flash.geom.Rectangle; [SWF(backgroundColor="0xffffff", width="300", height="150", frameRate="30")] public class BlendMode_darken extends Sprite { public function BlendMode_darken() { init(); } private function init():void { // 適用前 var bmd1 : BitmapData = new BitmapData(100, 75, true, 0xffffffff); bmd1.fillRect(new Rectangle(0,0,100,25), 0xffff0000); bmd1.fillRect(new Rectangle(0,25,100,25), 0xff00ff00); bmd1.fillRect(new Rectangle(0,50,100,25), 0xff0000ff); var bm1 : Bitmap = new Bitmap(bmd1); bm1.x = 25; bm1.y = 50; addChild(bm1); var bmd2 : BitmapData = new BitmapData(75, 100, true, 0xffffffff); bmd2.fillRect(new Rectangle(0,0,25,100), 0xffff0000); bmd2.fillRect(new Rectangle(25,0,25,100), 0xff00ff00); bmd2.fillRect(new Rectangle(50,0,25,100), 0xff0000ff); var bm2 : Bitmap = new Bitmap(bmd2); bm2.x = 50; bm2.y = 25; addChild(bm2); // 適用後 var bmd3: BitmapData = bmd1.clone(); var bm3 : Bitmap = new Bitmap(bmd3); bm3.x = 175; bm3.y = 50; addChild(bm3); var bmd4 : BitmapData = bmd2.clone(); var bm4 : Bitmap = new Bitmap(bmd4); bm4.x = 200; bm4.y = 25; bm4.blendMode = BlendMode.DARKEN; addChild(bm4); } } } // 明るい方の値を選択 package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMode; import flash.geom.Rectangle; [SWF(backgroundColor="0xffffff", width="300", height="150", frameRate="30")] public class BlendMode_lighten extends Sprite { public function BlendMode_lighten() { init(); } private function init():void { // 適用前 var bmd1 : BitmapData = new BitmapData(100, 75, true, 0xffffffff); bmd1.fillRect(new Rectangle(0,0,100,25), 0xffff0000); bmd1.fillRect(new Rectangle(0,25,100,25), 0xff00ff00); bmd1.fillRect(new Rectangle(0,50,100,25), 0xff0000ff); var bm1 : Bitmap = new Bitmap(bmd1); bm1.x = 25; bm1.y = 50; addChild(bm1); var bmd2 : BitmapData = new BitmapData(75, 100, true, 0xffffffff); bmd2.fillRect(new Rectangle(0,0,25,100), 0xffff0000); bmd2.fillRect(new Rectangle(25,0,25,100), 0xff00ff00); bmd2.fillRect(new Rectangle(50,0,25,100), 0xff0000ff); var bm2 : Bitmap = new Bitmap(bmd2); bm2.x = 50; bm2.y = 25; addChild(bm2); // 適用後 var bmd3: BitmapData = bmd1.clone(); var bm3 : Bitmap = new Bitmap(bmd3); bm3.x = 175; bm3.y = 50; addChild(bm3); var bmd4 : BitmapData = bmd2.clone(); var bm4 : Bitmap = new Bitmap(bmd4); bm4.x = 200; bm4.y = 25; bm4.blendMode = BlendMode.LIGHTEN; addChild(bm4); } } } // 表示オブジェクトの暗さに基き色を調整 package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMode; import flash.geom.Rectangle; [SWF(backgroundColor="0xffffff", width="300", height="150", frameRate="30")] public class BlendMode_hardlight extends Sprite { public function BlendMode_hardlight() { init(); } private function init():void { // 適用前 var bmd1 : BitmapData = new BitmapData(100, 75, true, 0xffffffff); bmd1.fillRect(new Rectangle(0,0,100,25), 0xffff0000); bmd1.fillRect(new Rectangle(0,25,100,25), 0xff00ff00); bmd1.fillRect(new Rectangle(0,50,100,25), 0xff0000ff); var bm1 : Bitmap = new Bitmap(bmd1); bm1.x = 25; bm1.y = 50; addChild(bm1); var bmd2 : BitmapData = new BitmapData(75, 100, true, 0xffffffff); bmd2.fillRect(new Rectangle(0,0,25,100), 0xff550000); bmd2.fillRect(new Rectangle(25,0,25,100), 0xff005500); bmd2.fillRect(new Rectangle(50,0,25,100), 0xff000055); var bm2 : Bitmap = new Bitmap(bmd2); bm2.x = 50; bm2.y = 25; addChild(bm2); // 適用後 var bmd3: BitmapData = bmd1.clone(); var bm3 : Bitmap = new Bitmap(bmd3); bm3.x = 175; bm3.y = 50; addChild(bm3); var bmd4 : BitmapData = bmd2.clone(); var bm4 : Bitmap = new Bitmap(bmd4); bm4.x = 200; bm4.y = 25; bm4.blendMode = BlendMode.HARDLIGHT; addChild(bm4); } } } // 背景の暗さに基き色を調整 package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMode; import flash.geom.Rectangle; [SWF(backgroundColor="0xffffff", width="300", height="150", frameRate="30")] public class BlendMode_overlay extends Sprite { public function BlendMode_overlay() { init(); } private function init():void { // 適用前 var bmd1 : BitmapData = new BitmapData(100, 75, true, 0xffffffff); bmd1.fillRect(new Rectangle(0,0,100,25), 0xff550000); bmd1.fillRect(new Rectangle(0,25,100,25), 0xff005500); bmd1.fillRect(new Rectangle(0,50,100,25), 0xff000055); var bm1 : Bitmap = new Bitmap(bmd1); bm1.x = 25; bm1.y = 50; addChild(bm1); var bmd2 : BitmapData = new BitmapData(75, 100, true, 0xffffffff); bmd2.fillRect(new Rectangle(0,0,25,100), 0xffff0000); bmd2.fillRect(new Rectangle(25,0,25,100), 0xff00ff00); bmd2.fillRect(new Rectangle(50,0,25,100), 0xff0000ff); var bm2 : Bitmap = new Bitmap(bmd2); bm2.x = 50; bm2.y = 25; addChild(bm2); // 適用後 var bmd3: BitmapData = bmd1.clone(); var bm3 : Bitmap = new Bitmap(bmd3); bm3.x = 175; bm3.y = 50; addChild(bm3); var bmd4 : BitmapData = bmd2.clone(); var bm4 : Bitmap = new Bitmap(bmd4); bm4.x = 200; bm4.y = 25; bm4.blendMode = BlendMode.OVERLAY; addChild(bm4); } } } // 背景色を反転 package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMode; import flash.geom.Rectangle; [SWF(backgroundColor="0xffffff", width="300", height="150", frameRate="30")] public class BlendMode_invert extends Sprite { public function BlendMode_invert() { init(); } private function init():void { // 適用前 var bmd1 : BitmapData = new BitmapData(100, 75, true, 0xffffffff); bmd1.fillRect(new Rectangle(0,0,100,25), 0xffff0000); bmd1.fillRect(new Rectangle(0,25,100,25), 0xff00ff00); bmd1.fillRect(new Rectangle(0,50,100,25), 0xff0000ff); var bm1 : Bitmap = new Bitmap(bmd1); bm1.x = 25; bm1.y = 50; addChild(bm1); var bmd2 : BitmapData = new BitmapData(75, 100, true, 0xffffffff); bmd2.fillRect(new Rectangle(0,0,25,100), 0xffff0000); bmd2.fillRect(new Rectangle(25,0,25,100), 0xff00ff00); bmd2.fillRect(new Rectangle(50,0,25,100), 0xff0000ff); var bm2 : Bitmap = new Bitmap(bmd2); bm2.x = 50; bm2.y = 25; addChild(bm2); // 適用後 var bmd3: BitmapData = bmd1.clone(); var bm3 : Bitmap = new Bitmap(bmd3); bm3.x = 175; bm3.y = 50; addChild(bm3); var bmd4 : BitmapData = bmd2.clone(); var bm4 : Bitmap = new Bitmap(bmd4); bm4.x = 200; bm4.y = 25; bm4.blendMode = BlendMode.INVERT; addChild(bm4); } } } // 透明度を背景に適用 package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMode; import flash.geom.Rectangle; [SWF(backgroundColor="0xffffff", width="300", height="150", frameRate="30")] public class BlendMode_alpha extends Sprite { public function BlendMode_alpha() { init(); } private function init():void { // 適用前 var bmd1 : BitmapData = new BitmapData(100, 75, true, 0xffffffff); bmd1.fillRect(new Rectangle(0,0,100,25), 0xffff0000); bmd1.fillRect(new Rectangle(0,25,100,25), 0xff00ff00); bmd1.fillRect(new Rectangle(0,50,100,25), 0xff0000ff); var bm1 : Bitmap = new Bitmap(bmd1); bm1.x = 25; bm1.y = 50; addChild(bm1); var bmd2 : BitmapData = new BitmapData(75, 100, true, 0xffffffff); bmd2.fillRect(new Rectangle(0,0,25,100), 0xffff0000); bmd2.fillRect(new Rectangle(25,0,25,100), 0x0000ff00); bmd2.fillRect(new Rectangle(50,0,25,100), 0xff0000ff); var bm2 : Bitmap = new Bitmap(bmd2); bm2.x = 50; bm2.y = 25; addChild(bm2); // 適用後 var bmd3: BitmapData = bmd1.clone(); var bm3 : Bitmap = new Bitmap(bmd3); bm3.x = 175; bm3.y = 50; addChild(bm3); var bmd4 : BitmapData = bmd2.clone(); var bm4 : Bitmap = new Bitmap(bmd4); bm4.x = 200; bm4.y = 25; blendMode = BlendMode.LAYER; bm4.blendMode = BlendMode.ALPHA; addChild(bm4); } } } // 透明度に基づき背景を消去 package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMode; import flash.geom.Rectangle; [SWF(backgroundColor="0xffffff", width="300", height="150", frameRate="30")] public class BlendMode_erase extends Sprite { public function BlendMode_erase() { init(); } private function init():void { // 適用前 var bmd1 : BitmapData = new BitmapData(100, 75, true, 0xffffffff); bmd1.fillRect(new Rectangle(0,0,100,25), 0xffff0000); bmd1.fillRect(new Rectangle(0,25,100,25), 0xff00ff00); bmd1.fillRect(new Rectangle(0,50,100,25), 0xff0000ff); var bm1 : Bitmap = new Bitmap(bmd1); bm1.x = 25; bm1.y = 50; addChild(bm1); var bmd2 : BitmapData = new BitmapData(75, 100, true, 0xffffffff); bmd2.fillRect(new Rectangle(0,0,25,100), 0xffff0000); bmd2.fillRect(new Rectangle(25,0,25,100), 0x0000ff00); bmd2.fillRect(new Rectangle(50,0,25,100), 0xff0000ff); var bm2 : Bitmap = new Bitmap(bmd2); bm2.x = 50; bm2.y = 25; addChild(bm2); // 適用後 var bmd3: BitmapData = bmd1.clone(); var bm3 : Bitmap = new Bitmap(bmd3); bm3.x = 175; bm3.y = 50; addChild(bm3); var bmd4 : BitmapData = bmd2.clone(); var bm4 : Bitmap = new Bitmap(bmd4); bm4.x = 200; bm4.y = 25; blendMode = BlendMode.LAYER; bm4.blendMode = BlendMode.ERASE; addChild(bm4); } } }
静岡理工科大学 | 菅沼ホーム | ActionScript 目次 | 索引 |