[专门研究PlgBlt]:
BOOL PlgBlt(
HDC hdcDest, // handle to destination DC
CONST POINT *lpPoint, // destination vertices // 目标DC的三点,顺序是从左上角->右上角->左下角,映射到Source的RECT DC.
HDC hdcSrc, // handle to source DC
int nXSrc, // x-coord of source upper-left corner
int nYSrc, // y-coord of source upper-left corner
int nWidth, // width of source rectangle
int nHeight, // height of source rectangle
HBITMAP hbmMask, // handle to bitmask// Must Be monochrome bitmap(就是纯色图片)
int xMask, // x-coord of bitmask upper-left corner
int yMask // y-coord of bitmask upper-left corner
);
CONST POINT *lpPoint, // destination vertices // 目标DC的三点,顺序是从左上角->右上角->左下角,映射到Source的RECT DC.
HDC hdcSrc, // handle to source DC
int nXSrc, // x-coord of source upper-left corner
int nYSrc, // y-coord of source upper-left corner
int nWidth, // width of source rectangle
int nHeight, // height of source rectangle
HBITMAP hbmMask, // handle to bitmask// Must Be monochrome bitmap(就是纯色图片)
int xMask, // x-coord of bitmask upper-left corner
int yMask // y-coord of bitmask upper-left corner
);
... ...
我理解的PlgBlt就是矩形到平行四边形的变形绘制。
利用这个,可以实现3D中的,三角形贴图:
这幅图片可以很好帮助我理解矩形右侧向内翻转之三角形分割贴图的意义,