MFC 连连看 遇到的问题
最近在看别人的代码《连连看》,但是有个地方弄不明白。
pDC->BitBlt(j*FRONTWIDTH,i*FRONTHEIGHT,
FRONTWIDTH-2,FRONTHEIGHT-12,
&m_memAnimalDC,
FRONTWIDTH-2,m_map[i*m_nCol+j]*(FRONTHEIGHT-12),
SRCAND);
pDC->BitBlt(j*FRONTWIDTH,i*FRONTHEIGHT,
FRONTWIDTH-2,FRONTHEIGHT-12,
&m_memAnimalDC,
0,m_map[i*m_nCol+j]*(FRONTHEIGHT-12),
SRCPAINT);
请问这两部分的功能有什么不同,应该怎么样理解。
谢谢!~
[解决办法]
最后一个参数:
BLACKNESS 使用黑色填充目标区域
DSTINVERT目标矩阵区域颜色取反
MERGECOPY使用与运算组合原设备矩形区域的颜色和目标设备的画刷
MERGEPAINT使用或运算将反向的源矩形区域的颜色和目标矩形区域的颜色合并
NOTSRCCOPY复制源设备区域的反色到目标设备中
NOTSRCERASE使用或运算组合源设备区域与目标设备区域的颜色,然后对结果颜色取反
PATCOPY复制源设备当前选中的画刷到目标设备
PATINVERT使用异或运算组合目标设备选中的画刷和目标设备区域的颜色
PATPAINT通过或运算组合目标区域当前选中的画刷和源设备区域反转的颜色
SRCAND使用与运算组合源设备和目标设备区域的颜色
SRCCOPY直接复制源设备区域到目标设备中
SRCERASE使用与运算组合目标设备区域的反色与源设备区域的颜色
SRCINVERT使用异或运算组合源设备区域颜色和目标设备区域颜色
SRCPAINT使用或运算组合源设备区域颜色和目标设备区域颜色
WHITENESS使用白色填充目标区域
[解决办法]
或则要看你想要实现什么功能了
BitBlt前四个参数是目标矩形区域,也就是将图片放到哪里去
第五个是兼容DC
第六、七个是从原图片的哪一点开始复制到目标区域