我有点忘记确切的做法,因为现在都不用这种MASK实现透明贴图的做法,做法和原理大致是象下面这样,我没有实际验证:
1. 你生成一张MASK图,其中对应原图透明色的现在在MASK图中是RGB(255,255,255),而原图中图象部分在MASK图对应部分是RGB(0,0,0)。这是为了下一步操作的需要。
2。先用这张MASK图BitBlt到背景,其中光栅操作码为SRCAND,即把MASK图与背景做与运算,
这样背景图中对应的原图非透明色区域部分的像素就都变成RGB(0,0,0).
3。再用原图BitBlt到背景,其中光栅操作码为SRCPAINT,把MASK图与背景做或运算,这样就实现了透明贴图。
1. 你生成一张MASK图,其中对应原图透明色的现在在MASK图中是RGB(255,255,255),而原图中图象部分在MASK图对应部分是RGB(0,0,0)。这是为了下一步操作的需要。
2。先用这张MASK图BitBlt到背景,其中光栅操作码为SRCAND,即把MASK图与背景做与运算,
这样背景图中对应的原图非透明色区域部分的像素就都变成RGB(0,0,0).
3。再用原图BitBlt到背景,其中光栅操作码为SRCPAINT,把MASK图与背景做或运算,这样就实现了透明贴图。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货