gpt4 book ai didi

c++ - BitBlt 绘制空白图像

转载 作者:行者123 更新时间:2023-11-28 08:25:31 27 4
gpt4 key购买 nike

我正在使用 MFC,我正在尝试将图像绘制到屏幕上。我有以下 OnDraw 函数:

void CgraphicstestView::OnDraw(CDC* pDC)
{
CgraphicstestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;

m_Bitmap.LoadBitmap(IDB_WALL); // m_Bitmap is a CBitmap member of CgraphicstestView
// IDB_WALL is a .png resource
CDC dcMemory;
dcMemory.CreateCompatibleDC(pDC);
dcMemory.SelectObject(&m_Bitmap);
pDC->BitBlt(10, 10, 32, 32, &dcMemory, 0, 0, SRCCOPY);
}

这将绘制到屏幕上,但目标区域是空白的。 BitBlt 正在运行,因为将 SRCCOPY 更改为 BLACKNESS 会绘制一个黑色矩形。有人看到我错过了什么吗?

最佳答案

我不得不猜测问题是您的图像不知何故无效。因为我测试了它并且它工作正常。 LoadBitmap 返回一个 HBITMAP,因此您可以像这样测试它:

HBITMAP hresult = m_Bitmap.LoadBitmap(IDB_WALL);
assert(hresult);

关于c++ - BitBlt 绘制空白图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4190437/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com