象棋百科全书有一个开发教程。
象棋小巫师里面vc图形绘制介绍:
1. 所有图形通过添加资源的方式加到项目中
2. 调用LoadResBmp加载资源
3. 绘制的基本方式是:
hdcTmp = CreateCompatibleDC(hdc)
SelectObject(hdcTmp, hBitmap); // hBitmap是通过LoadResBmp加载的资源
BitBlt(hdc, 0, 0, width, height, hdcTmp, 0, 0, SRCCOPY);
DeleteDC(hdcTmp);
4. 透明区域绘制 这是最重要的,在象棋小巫师代码中位于函数TransparentBlt2
在棋盘上画棋子步骤是这样的:
4.1 首先将棋子图片绘制到一个中间DC上:
hImageBMP = CreateCompatibleBitmap(hdcDest, nWidthDest, nHeightDest);
hImageDC = CreateCompatibleDC(hdcDest);
hOldImageBMP = (HBITMAP) SelectObject(hImageDC, hImageBMP);
BitBlt(hImageDC, 0, 0, nWidthDest, nHeightDest,
hdcSrc, nXOriginSrc, nYOriginSrc, SRCCOPY);
4.2 创建hMaskDC,相关联的Bitmap为hMaskBMP = CreateBitmap(width, height, 1, 1, NULL)