C++的imgui绘图怎么添加图片绘制在屏幕上

2023-6-5 14:56 172 0
简介
C++的imgui绘图怎么添加图片绘制在屏幕上这里提供下答案送给大家。`ImGui::GetWindowDrawList()-AddImage()` 函数可以用于在 ImGui 窗口中添加一张图片并绘制在屏幕上。该函数需要传入以下参数:1. `user_texture_id ...
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` 分别表示图片的位置和大小。你需要根据自己的需要修改这些参数,以便正确地绘制图片。

鲜花

握手

雷人

路过

鸡蛋

关注我们:觅风论坛与你快乐分享

收藏本站

用心服务做个非盈利公益编程网站

www.eyyba.com

服务人:觅风论坛

Email:eyyba@foxmail.com

Powered by WWW.EYYBA.COM X3.4© 2001-2023 Inc.   版权所有   

觅风论坛  疆ICP备15020893号-1