Обводка текста

jetrorq

Участник
Автор темы
38
4
Версия MoonLoader
.027.0-preview
Хочу в подобном формате сделать информацию в mimgui. Однако я все еще не понял с помощью чего можно сделать это (накидал в фигме пример того что я хочу сделать):
Frame 31 (2).png
 
Последнее редактирование:
Решение
это я знаю. но стандартный вид чайлда не такой, какой нужен мне, я хочу сделать округление и обводку другого цвета. облазил весь инет и не нашел способа, поэтому пишу сюда
Если у всех чайлдов нужны одинаковые параметры, то меняй их в стиле, если каждому разные то примерно так
Lua:
imgui.PushStyleColor(imgui.Col.ChildBg, imgui.ImVec4(1, 0, 0, 1)); -- красный цвет
imgui.PushStyleVarFloat(imgui.StyleVar.ChildRounding, 10); -- 10 - загругление чайлда в пикселях
if (imgui.BeginChild('child-name', imgui.ImVec2(100, 100), true)) then
    
end
imgui.EndChild();
imgui.PopStyleColor();
imgui.PopStyleVar();

meTam

Новичок
6
5
Возможно я неправильно понял, но если тебе нужен просто текст, то убери
imgui.BeginChild
imgui.EndChild()

Код:
imgui.OnInitialize(function()
    big = imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\trebucbd.ttf', 18.0, _, glyph_ranges)
end)



--Frame
imgui.BeginChild('##1', imgui.ImVec2(120, 120), true)  -- если нужна обводка в окне mimgui
    imgui.PushFont(big)
    imgui.TextColored(imgui.ImVec4(255, 0, 0, 1), u8'Text1')
    imgui.PopFont()
    imgui.TextColored(imgui.ImVec4(192, 192, 192, 0.65), u8'Приглушенный текст')
    
--или, если прям как нужно
    imgui.TextColored(imgui.ImVec4(192, 192, 192, 0.65), u8'Приглушенный')
    imgui.TextColored(imgui.ImVec4(192, 192, 192, 0.65), u8'текст')
imgui.EndChild() -- убери, если не нужна обводка в окне
 

jetrorq

Участник
Автор темы
38
4
Возможно я неправильно понял, но если тебе нужен просто текст, то убери
imgui.BeginChild
imgui.EndChild()

Код:
imgui.OnInitialize(function()
    big = imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\trebucbd.ttf', 18.0, _, glyph_ranges)
end)



--Frame
imgui.BeginChild('##1', imgui.ImVec2(120, 120), true)  -- если нужна обводка в окне mimgui
    imgui.PushFont(big)
    imgui.TextColored(imgui.ImVec4(255, 0, 0, 1), u8'Text1')
    imgui.PopFont()
    imgui.TextColored(imgui.ImVec4(192, 192, 192, 0.65), u8'Приглушенный текст')
   
--или, если прям как нужно
    imgui.TextColored(imgui.ImVec4(192, 192, 192, 0.65), u8'Приглушенный')
    imgui.TextColored(imgui.ImVec4(192, 192, 192, 0.65), u8'текст')
imgui.EndChild() -- убери, если не нужна обводка в окне
нет, мне нужно именно эта обводка у текста, однако подогнать child под своё оформление не могу
 

chapo

tg/inst: @moujeek
Модератор
9,078
12,053
1. подгружаешь большой шрифт
2. создаешь чайлд
3. меняешь шрифт на большой через PushFont, рисуешь красный текст через TextColored и "закрываешь" шрифт с помощью PopFont
4. рисуешь серый текст через TextDisabled или TextColored
 

jetrorq

Участник
Автор темы
38
4
1. подгружаешь большой шрифт
2. создаешь чайлд
3. меняешь шрифт на большой через PushFont, рисуешь красный текст через TextColored и "закрываешь" шрифт с помощью PopFont
4. рисуешь серый текст через TextDisabled или TextColored
это я знаю. но стандартный вид чайлда не такой, какой нужен мне, я хочу сделать округление и обводку другого цвета. облазил весь инет и не нашел способа, поэтому пишу сюда
 

chapo

tg/inst: @moujeek
Модератор
9,078
12,053
это я знаю. но стандартный вид чайлда не такой, какой нужен мне, я хочу сделать округление и обводку другого цвета. облазил весь инет и не нашел способа, поэтому пишу сюда
Если у всех чайлдов нужны одинаковые параметры, то меняй их в стиле, если каждому разные то примерно так
Lua:
imgui.PushStyleColor(imgui.Col.ChildBg, imgui.ImVec4(1, 0, 0, 1)); -- красный цвет
imgui.PushStyleVarFloat(imgui.StyleVar.ChildRounding, 10); -- 10 - загругление чайлда в пикселях
if (imgui.BeginChild('child-name', imgui.ImVec2(100, 100), true)) then
    
end
imgui.EndChild();
imgui.PopStyleColor();
imgui.PopStyleVar();
 
  • Нравится
Реакции: jetrorq