1

只是一个简单的 blt 函数:

RECT dstRect = {dstL, dstT, dstR, dstB};
RECT srcRect = {srcL, srcT, srcR, srcB};

HRESULT hr = _surface->Blt(&dstRect,source,&srcRect,DDBLT_WAIT, NULL);

我的问题是:

假设我有一个宽度为“w”的缓冲区,我指定 dstL = 0。dstR 应该是什么?w 还是 w-1 ?

意思是包含或不包含dstR?(< 或 <=) ?

4

1 回答 1

1

DirectDraw 矩形类似于 GDI 矩形,因为它们覆盖了(但不包括)右列和底行的区域。所以应该是w。

参考: http: //msdn.microsoft.com/en-us/library/aa911080.aspx

RECT 结构被定义为右和下成员是互斥的:右减左等于矩形的宽度,而不是宽度小一。

于 2011-08-04T18:01:04.330 回答