1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
 
var bmd1: BitmapData = new BitmapData(100,
    80,
    true,
    0xFF00FF00);
var bmd2: BitmapData = new BitmapData(100,
    80,
    true,
    0xFFFF0000); //如果bmd2透明度为0就能达到抠图的效果
var rect: Rectangle = new Rectangle(0,
    0,
    40,
    40);
var pt: Point = new Point(20,
    20);
var mult: uint = 0x80;
//
50 % , 各通道值均为128,即 50 %
    bmd1.merge(bmd2,
        rect, pt, mult, mult, mult, mult);
 
var bm1: Bitmap = new Bitmap(bmd1);
addChild(bm1);
var bm2: Bitmap = new Bitmap(bmd2);
addChild(bm2);
bm2.x = 110;
 
//最终值
//new
redDest = [(redSrc * redMultiplier) + (redDest * (256 - redMultiplier))] / 256;
trace(bmd1.getPixel32(20, 20).toString(16));
//ff7f7f00
 
//解释:
//返回值中Red分量为
7f = 0x00 * 0x80 + 0xff * (0x100 - 0x80) / 0x100

  

posted on   我是cdt  阅读(136)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示