看过了浅莫的游戏代码的大家都知道,浅莫贴图的时候都会调用这两个函数
BitBlt(mdc,x,y,w,h,bufdc,w*num,h,SRCAND);
BitBlt(mdc,x,y,w,h,bufdc,w*num,0,SRCPAINT);
以前一直都没怎么懂,今天就好好的理解了下,然后把我的理解分享给大家。
前面的 BitBlt(mdc,x,y,w,h,bufdc,w*num,h,SRCAND);
x表示贴图位置的x坐标,
y表示贴图位置的y坐标,
w表示贴图位置的宽度
h表示贴图位置的高度。
然后w*num表示bmp图中的x坐标的位置
h表示y坐标,这些表示了从bmp中绘图的起始位置
假如一个图片的分辨率为120*140 如果w*num =60,h=70,则表示在(60,70)这个地方开始画,画w,h为宽度和高度的矩形。当然后面的SRCAND表示与运算,一般这次贴上去的都是一个阴影。
后面的BitBlt(mdc,x,y,w,h,bufdc,w*num,0,SRCPAINT);同理。 这次贴上的是真正的彩图。
我觉得这样讲解应该还是比较容易接受。