在GDI +中绘制图像

问题描述 投票:0回答:1

我对c ++的了解还不是很丰富,但仍在研究它。我有这个想法,我想在C#中尝试一下,但是对于该项目来说它还不够快,所以我决定使用并切换到c ++。我之前从未接触过GDI +,但是,我已经在Internet上浏览了几个小时,以尽我所能。我已经启动并运行了一个基本的Windows项目,该项目只是一个白屏,仅此而已。

我正在尝试使用GDI +在屏幕上绘制图像,我不知道是否正确加载了.png,我是'添加->现有项',如果我使用'添加->资源->位图->导入”,我收到一个“应用无法启动,请求无效”之类的信息,基本上它使我的整个项目变砖了,所以我必须重新开始。

这是我的代码,假设是绘制循环

case WM_PAINT:
    {
        PAINTSTRUCT ps;
        HDC hdc = BeginPaint(hWnd, &ps);
        // TODO: Add any drawing code that uses hdc here...
        OnPaint(hdc);
        EndPaint(hWnd, &ps);
    }
    break;

然后是OnPaint()方法,

void OnPaint(HDC hdc) 
{
    Graphics graphics(hdc);
    Image image(L"art.png");
    graphics.DrawImage(&image, 400, 100);
}

此代码的结果导致

射击=”>

有人知道我哪里出错了吗? :)

谢谢,vK

我对c ++的了解还不是很丰富,但仍在研究它。我有这个想法,我想在C#中尝试一下,但是对于该项目来说它还不够快,所以我决定使用并切换到c ++。我有...

c++ gdi+
1个回答
0
投票

发现了,我没有初始化GDI。

© www.soinside.com 2019 - 2024. All rights reserved.