c++

如何用C++调用LoadImage函数

小樊
90
2024-09-06 08:17:01
栏目: 编程语言

LoadImage 是 Windows API 中的一个函数,用于从文件或资源中加载图像

#include<iostream>
#include<Windows.h>

int main() {
    // 获取当前模块句柄
    HMODULE hModule = GetModuleHandle(NULL);

    // 加载图像资源
    HANDLE hImage = LoadImage(hModule, MAKEINTRESOURCE(ID_BITMAP), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);

    if (hImage == NULL) {
        std::cerr << "Failed to load image: "<< GetLastError()<< std::endl;
        return 1;
    }

    // 在此处使用 hImage 进行其他操作,例如绘制到窗口设备上下文(HDC)

    // 释放图像资源
    DeleteObject((HGDIOBJ)hImage);

    return 0;
}

这个示例中,我们首先使用 GetModuleHandle 函数获取当前模块的句柄。然后,我们使用 LoadImage 函数加载一个位图资源(资源 ID 为 ID_BITMAP)。请注意,您需要将 ID_BITMAP 替换为实际资源 ID。

LoadImage 函数有多个参数,用于指定要加载的图像类型、大小和颜色。在此示例中,我们使用默认颜色加载位图,并将其大小设置为 0,以保持原始尺寸。

如果 LoadImage 函数成功,它将返回一个非空的 HANDLE,表示已加载的图像。您可以使用此句柄进行其他操作,例如将图像绘制到窗口设备上下文(HDC)。

最后,当您完成图像操作后,请使用 DeleteObject 函数释放图像资源。

0
看了该问题的人还看了