游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1617|回复: 1

请教一个windows图形编程的问题

[复制链接]

4

主题

12

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2005-4-21 22:46:00 | 显示全部楼层 |阅读模式
我用gdi编程时。
用CreateSolidBrush(RGB(255, 253,120))创建Brush.
        hDc = GetDC(m_hWnd);
        memDc = CreateCompatibleDC(NULL);

        hBmp = CreateCompatibleBitmap(memDc, 800, 600);
        hOldBmp = (HBITMAP)SelectObject(memDc, hBmp);
        hNewBrush = CreateSolidBrush(RGB(255, 253,120));

        RECT rc;
        rc.left = 0;
        rc.top = 0;
        rc.right = 800;
        rc.bottom = 600;

        FillRect(memDc, &rc, hNewBrush);

但画出来的却是黑白的带阴影的效果。并无颜色出现。
请问为什么?应该怎样解决?

多谢。 [em17]

4

主题

12

帖子

18

积分

新手上路

Rank: 1

积分
18
 楼主| 发表于 2005-4-22 11:45:00 | 显示全部楼层

Re:请教一个windows图形编程的问题

再说明:
以上问题是在双缓冲机制时出现的。
也就是
FillRect(memDc, &rc, hNewBrush);是画在后备缓冲中的。
调用BitBlt(m_hDc, rc.left, rc.top, rc.right, rc.bottom, m_hMemdc, 0, 0, SRCCOPY);
后出现黑白的带阴影的效果。并无颜色出现。

但当我直接FillRect 到窗口dc中时却能正常显示色彩。

再次请教高人指点。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-25 10:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表