draw_set_blend_mode_ext(src,dest)的效果就是修改绘制方式,两个参数是源像素(即被绘制的图形)的因子和目标像素(即背景和已绘制的图形)的因子。相乘后相加,得到的结果便是绘制的结果。
比如源像素为(1, 0.75, 0.5, 0.9),目标像素为(0, 0, 1, 1),
src为bm_src_alpha,dest为bm_inv_src_alpha,那么结果是
(1×0.9+0×0.1, 0.75×0.9+0×0.1, 0.5×0.9+1×0.1, 0.9×0.9+1×0.1)
=(0.9,0.675, 0.55, 0.91)
bm_zero:因子为(0, 0, 0, 0)
bm_one:因子为(1, 1, 1, 1)
bm_src_color:因子为(Rs, Gs, Bs, As),即源像素的红绿蓝透明值
bm_inv_src_color:因子为(1-Rs, 1-Gs, 1-Bs, 1-As),即反转的源像素RGBA值
bm_src_alpha:因子为(As, As, As, As),即全为源透明值
bm_inv_src_alpha:因子为(1-As, 1-As, 1-As, 1-As),即全为反转的源透明值
bm_dest_alpha:因子为(Ad, Ad, Ad, Ad),即全为目标透明值
bm_inv_dest_alpha:因子为(1-Ad, 1-Ad, 1-Ad, 1-Ad),即全为反转的目标透明值
bm_dest_color:因子为(Rd, Gd, Bd, Ad),即目标像素的RGBA值
bm_inv_dest_color:因子为(1-Rd, 1-Gd, 1-Bd, 1-Ad),即反转的目标像素的RGBA值
bm_src_alpha_sat:因子为(f, f, f, 1),其中f=min(As, 1-Ad),即源像素的透明值和反转的目标像素的透明值的最大值。
2015年01月08日 12点01分
8
讲解的非常详细,赞!
2015年01月10日 04点01分