象棋百科全书有一个开发教程。
象棋小巫师里面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)
这个关联的Bitmap创建的

这篇博客介绍了如何使用VC进行电脑象棋界面的图形绘制,包括资源的添加、LoadResBmp的调用以及透明区域的绘制。重点讲述了在棋盘上画棋子的步骤,涉及到创建中间DC、利用SRCAND和SRCPAINT标志进行图像处理,以实现棋子的透明效果。

1575

被折叠的 条评论
为什么被折叠?



