求助:如何在ImGui中实现无边框的文本着色效果
ImGui文本边框去除与着色实现方案
实现代码
ImGui::SetCursorPos(ImVec2(10, 45)); ImGui::Text("Cheat Status"); ImGui::SetCursorPos(ImVec2(10, 65)); char txt_green[] = "Undetected"; // 临时修改局部样式,不影响全局设置 ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f); // 移除边框 ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.0f, 1.0f, 0.0f, 1.0f)); // 设置绿色文本 ImGui::Text("%s", txt_green); // 恢复原有样式 ImGui::PopStyleColor(); ImGui::PopStyleVar();
关键说明
- 边框去除:通过
PushStyleVar临时将FrameBorderSize设为0,操作完成后用PopStyleVar恢复全局样式,无需修改全局配置。 - 文本着色:利用
PushStyleColor修改ImGuiCol_Text颜色值,ImVec4参数对应RGBA(范围0.0-1.0),示例中为纯绿色。 - 注意事项:确保使用
ImGui::Text/ImGui::TextUnformatted这类纯文本输出函数,不要用InputText等自带边框的控件。
内容的提问来源于stack exchange,提问作者Cade Martin
相关产品推荐
相关产品推荐

