异形窗口的有关问题

异形窗口的问题
普通的异形窗口原理如下:
for(x...){      
        for(y...){      
                对内存区逐像素扫描      
                获取内存区像素颜色      
                if(判断内存区像素颜色是否为指定的颜色){      
                            如果是       对窗口区域和内存区域相同位置的区域合并,相同的颜色作xor,变透明。并将透明存储到窗口区域                 }      
        }      
    }      

但是这种方法在图片很大的时候速度会很慢
不知各位有什么提高速度的方法?

------解决方案--------------------
先将区域生成,数据放于文件中,我估计瑞星的狮子就是这样做的。
------解决方案--------------------
生成黑片遮片!,用四元运算MaskBlt