我有点忘记确切的做法,因为现在都不用这种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图与背景做或运算,这样就实现了透明贴图。