Imgui 如何添加自定义图标
时间: 2024-05-29 15:08:28 浏览: 69
Imgui可以通过实现ImFontAtlas类中的AddFontFromMemoryCompressedBase85TTF函数来添加自定义的图标字体库。您可以找到对应的图标字体库文件,如FontAwesome,将其转化为CompressedBase85编码,并在AddFontFromMemoryCompressedBase85TTF函数中添加该编码。然后,您就可以在Imgui中使用该图标字体库了。
相关问题
ImGui::BeginCombo() 如何修改里面右侧的图标为自定义图标
可以使用ImGui::SameLine()和ImGui::Image()两个函数来实现自定义图标的显示。先使用ImGui::SameLine()将光标移动到图标位置,然后使用ImGui::Image()将自定义图标插入到光标位置。代码如下:
```
ImGui::BeginCombo("MyCombo", currentItem);
ImGui::SameLine(ImGui::GetWindowContentRegionMax().x - 20);
ImGui::Image(ImTextureID(myIconTexture), ImVec2(16,16)); // 自定义图标的大小为16*16
for (int i = 0; i < items.size(); i++) {
bool is_selected = (currentItem == items[i]);
if (ImGui::Selectable(items[i], is_selected)) {
currentItem = items[i];
}
}
ImGui::EndCombo();
```
注意:其中myIconTexture是自定义图标的纹理ID,需要进行初始化。
ImGui::BeginCombo() 如何修改图标为自定义图标
可以在ImGui::BeginCombo()函数中使用ImGui::SetWindowFontScale()函数来修改图标大小,然后使用ImGui::Image()函数来加载自定义图标。例如:
float iconSize = ImGui::GetTextLineHeight();
ImGui::SetWindowFontScale(1.5f);
ImGui::Image(myCustomIcon, ImVec2(iconSize, iconSize));
其中,myCustomIcon是你自己定义的图标,需要先加载到内存中。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)