基于HDC实现全屏绘制的技术咨询及代码完善请求
基于HDC实现全屏绘制的技术咨询及代码完善请求
嘿,各位大佬,我最近在做一个用HDC进行屏幕绘制的小项目,目前写了部分代码,但还有些卡壳的地方想请教下~
我现在用的是控制台窗口的DC来绘制,代码大概是这样的:
void drawScreen() { hDC = GetDC(GetConsoleWindow()); for (int i = 0; i < 10; i++) { for (int j = 0; j < 20; j++) { if (gameMap[i][j].getId() != 0) { RECT rect1 = getRectByPoint(i, j); FillRect(hDC, &rect1, CreateSolidBrush(gameMap[i][j].getColor())); } else { // 这里的空白区域绘制逻辑还没想好,不知道怎么处理更合适 } } } }
现在有几个问题想请教大家:
- 我现在是获取控制台窗口的DC,如果想要实现全屏绘制,应该怎么获取对应的DC呢?
- 空白区域的绘制逻辑,有没有什么推荐的处理方式?比如填充默认背景色之类的?
- 另外,我用CreateSolidBrush创建的画笔,是不是用完之后必须销毁呀?会不会造成资源泄漏的问题?
麻烦各位大佬给点建议啦,谢谢!
内容来源于stack exchange
相关产品推荐
相关产品推荐

