C++的imgui绘图怎么添加图片绘制在屏幕上 这里提供下答案 送给大家。 `ImGui::GetWindowDrawList()->AddImage()` 函数可以用于在 ImGui 窗口中添加一张图片并绘制在屏幕上。该函数需要传入以下参数: 1. `user_texture_id`:表示要绘制的图片的纹理 ID,可以是 OpenGL 纹理 ID 或者其他类型的 ID。 2. `p_min` 和 `p_max`:表示要绘制的图片的左上角和右下角的坐标。 3. `uv_min` 和 `uv_max`:表示要绘制的图片的左上角和右下角在纹理中的坐标。 4. `tint_col`:表示要绘制的图片的颜色。 5. `border_col`:表示要绘制的图片的边框颜色。 下面是一个示例代码,演示如何使用 `ImGui::GetWindowDrawList()->AddImage()` 函数添加一张图片绘制在屏幕上: ```cpp ImTextureID texture_id = (ImTextureID)(intptr_t)texture->getTextureId(); // 获取纹理 ID ImVec2 p_min = ImVec2(x, y); // 左上角坐标 ImVec2 p_max = ImVec2(x + w, y + h); // 右下角坐标 ImVec2 uv_min = ImVec2(0.0f, 0.0f); // 左上角在纹理中的坐标 ImVec2 uv_max = ImVec2(1.0f, 1.0f); // 右下角在纹理中的坐标 ImVec4 tint_col = ImVec4(1.0f, 1.0f, 1.0f, 1.0f); // 图片颜色 ImVec4 border_col = ImVec4(0.0f, 0.0f, 0.0f, 0.0f); // 边框颜色 ImGui::GetWindowDrawList()->AddImage(texture_id, p_min, p_max, uv_min, uv_max, tint_col, border_col); // 添加图片 ``` 其中,`texture` 是一个指向纹理对象的指针,`x`、`y`、`w` 和 `h` 分别表示图片的位置和大小。你需要根据自己的需要修改这些参数,以便正确地绘制图片。 |