Исходник ImGui Perfect circle image

Забаненный
Статус
Оффлайн
Регистрация
11 Май 2020
Сообщения
115
Реакции[?]
91
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
void ImGui::AddCircleImageFilled(ImTextureID user_texture_id, const ImVec2& centre, float radius, ImU32 col, int num_segments)
{
    auto window = GetCurrentWindow();
    if (window->SkipItems)
        return;

    ImGuiContext& g = *GImGui;
    window->DrawList->PathClear();

    if ((col & IM_COL32_A_MASK) == 0 || num_segments <= 2)
        return;


    const bool push_texture_id = window->DrawList->_TextureIdStack.empty() || user_texture_id != window->DrawList->_TextureIdStack.back();
    if (push_texture_id)
        window->DrawList->PushTextureID(user_texture_id);

    int vert_start_idx = window->DrawList->VtxBuffer.Size;
    const float a_max = IM_PI * 2.0f * ((float)num_segments - 1.0f) / (float)num_segments;
    window->DrawList->PathArcTo(centre, radius, 0.0f, a_max, num_segments - 1);
    window->DrawList->PathFillConvex(col);
    int vert_end_idx = window->DrawList->VtxBuffer.Size;

    ImGui::ShadeVertsLinearUV(window->DrawList, vert_start_idx, vert_end_idx, ImVec2(centre.x - radius, centre.y -radius), ImVec2(centre.x + radius, centre.y + radius), ImVec2(0,0), ImVec2(1, 1), true);

    if (push_texture_id)
        window->DrawList->PopTextureID();


}
usage :
Код:
    ImGui::AddCircleImageFilled(
            my_texture,
            ImGui::GetWindowPos() + ImGui::GetWindowSize() - ImVec2(30, 30),
            30.f,
            ImColor(255,255,255),
            360
        );
ss:
1606733773743.png
 
Забаненный
Участник
Статус
Оффлайн
Регистрация
23 Сен 2019
Сообщения
1,021
Реакции[?]
190
Поинты[?]
0
Хороший гайд, мб в каком нибудь приватном проекте через это сделаю показ аватарки, или круглого лого
 
Забаненный
Статус
Оффлайн
Регистрация
11 Май 2020
Сообщения
115
Реакции[?]
91
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
а этого кто-то не знал?
в def imgui этого нет, при запросе imgui circle imgage выводи труху
1606735222226.png
поэтому да, кто-то не знал и сделал сам за 2-3 минуты. А чтобы люди не теряли на поиски свои 30-40 минут в надежде найти что-то - еще и дропнул в opensource.
 
Забаненный
Статус
Оффлайн
Регистрация
13 Мар 2017
Сообщения
83
Реакции[?]
93
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
спасибо, полезная вещь)
 
GDPR_Anonymous
Пользователь
Статус
Оффлайн
Регистрация
17 Фев 2017
Сообщения
362
Реакции[?]
133
Поинты[?]
0
в def imgui этого нет, при запросе imgui circle imgage выводи труху
поэтому да, кто-то не знал и сделал сам за 2-3 минуты. А чтобы люди не теряли на поиски свои 30-40 минут в надежде найти что-то - еще и дропнул в opensource.
эм
Код:
pDrawList->AddImageRounded(pUserAvatar, ImVec2(rectFrame.Min.x + 8.0f, rectFrame.Max.y - 5.0f - M_GROUP_HEIGHT), ImVec2(rectFrame.Min.x + 8.0f + M_GROUP_HEIGHT, rectFrame.Max.y - 5.0f), ImVec2(0, 0), ImVec2(1, 1), 0xFFFFFFFF, 36.f);
выведет тебе идеальную круглую картинку, упс.
 
Забаненный
Статус
Оффлайн
Регистрация
11 Май 2020
Сообщения
115
Реакции[?]
91
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
эм
Код:
pDrawList->AddImageRounded(pUserAvatar, ImVec2(rectFrame.Min.x + 8.0f, rectFrame.Max.y - 5.0f - M_GROUP_HEIGHT), ImVec2(rectFrame.Min.x + 8.0f + M_GROUP_HEIGHT, rectFrame.Max.y - 5.0f), ImVec2(0, 0), ImVec2(1, 1), 0xFFFFFFFF, 36.f);
выведет тебе идеальную круглую картинку, упс.
берем деф симпл -> пробуем сделать как ты написал -> упс
1606846765526.png
Если для тебя это perfect, то на этом мои полномочия все
 
Продавец
Статус
Оффлайн
Регистрация
12 Сен 2016
Сообщения
859
Реакции[?]
263
Поинты[?]
5K
Забаненный
Статус
Оффлайн
Регистрация
11 Май 2020
Сообщения
115
Реакции[?]
91
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
эм изменить значение rounding, не?
Я вижу,вы самый умный.
Какое значение rounding? в аргументах метода?)
Давайте проведем тест:
Код:
ImGui::GetOverlayDrawList()->AddImageRounded(my_texture, ImVec2(100,100), ImVec2(200, 200), ImVec2(0, 0), ImVec2(1, 1), 0xFFFFFFFF, 36.f);
ImGui::GetOverlayDrawList()->AddImageRounded(my_texture, ImVec2(300, 300), ImVec2(400, 400), ImVec2(0, 0), ImVec2(1, 1), 0xFFFFFFFF, 360.f);
ImGui::GetOverlayDrawList()->AddImageRounded(my_texture, ImVec2(500, 500), ImVec2(600, 600), ImVec2(0, 0), ImVec2(1, 1), 0xFFFFFFFF, 100.f);
1606847285075.png
Если вас так много умных, почему бы просто самим не попробовать сделать сначала то, о чем вы пишите?)
 
GDPR_Anonymous
Пользователь
Статус
Оффлайн
Регистрация
17 Фев 2017
Сообщения
362
Реакции[?]
133
Поинты[?]
0
Я вижу,вы самый умный.
Какое значение rounding? в аргументах метода?)
Давайте проведем тест:
Код:
ImGui::GetOverlayDrawList()->AddImageRounded(my_texture, ImVec2(100,100), ImVec2(200, 200), ImVec2(0, 0), ImVec2(1, 1), 0xFFFFFFFF, 36.f);
ImGui::GetOverlayDrawList()->AddImageRounded(my_texture, ImVec2(300, 300), ImVec2(400, 400), ImVec2(0, 0), ImVec2(1, 1), 0xFFFFFFFF, 360.f);
ImGui::GetOverlayDrawList()->AddImageRounded(my_texture, ImVec2(500, 500), ImVec2(600, 600), ImVec2(0, 0), ImVec2(1, 1), 0xFFFFFFFF, 100.f);
Посмотреть вложение 116228
Если вас так много умных, почему бы просто самим не попробовать сделать сначала то, о чем вы пишите?)
эм это не мы самые умные, это ты тупой, смотри на IM_DRAWLIST_ARCFAST_TESSELLATION_MULTIPLIER смени значение на 2 или 3 и будет тебе счастье, знал бы сам о чем ты пишешь вообще.
берем деф симпл -> пробуем сделать как ты написал -> упс
Посмотреть вложение 116227
Если для тебя это perfect, то на этом мои полномочия все
но для меню пойдет же, не? для аватаров в принципе не нужны огромные пикчи вообще
 
Забаненный
Статус
Оффлайн
Регистрация
11 Май 2020
Сообщения
115
Реакции[?]
91
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
эм это не мы самые умные, это ты тупой, смотри на IM_DRAWLIST_ARCFAST_TESSELLATION_MULTIPLIER смени значение на 2 или 3 и будет тебе счастье, знал бы сам о чем ты пишешь вообще.

но для меню пойдет же, не? для аватаров в принципе не нужны огромные пикчи вообще
Ой-ой-ой, заинька обиделась и перешла на личности)
Напомню, что я работаю на данный момент в деф симпле ,а в деф симлпе стоит гуи 1.69 в котором нет IM_DRAWLIST_ARCFAST_TESSELLATION_MULTIPLIER да и вообще ArcFastVtx.
1606921285744.png
Иначе говоря, ты высрал из себя опять "умную" мысль и нихуя не проверил.
И да, мне на угловую хуету,которую ты называешь "perfect circle" смотреть неприятно (от слова совсем).
Мне проще написать метод ,убив на это 5 минут, нежели чем обновлять фулл гуи и тащить за собой хуеву тучу проблем и несостыковок, что может убить от часу моего времени.
 
GDPR_Anonymous
Пользователь
Статус
Оффлайн
Регистрация
17 Фев 2017
Сообщения
362
Реакции[?]
133
Поинты[?]
0
Ой-ой-ой, заинька обиделась и перешла на личности)
Напомню, что я работаю на данный момент в деф симпле ,а в деф симлпе стоит гуи 1.69 в котором нет IM_DRAWLIST_ARCFAST_TESSELLATION_MULTIPLIER да и вообще ArcFastVtx.
Посмотреть вложение 116374
Иначе говоря, ты высрал из себя опять "умную" мысль и нихуя не проверил.
И да, мне на угловую хуету,которую ты называешь "perfect circle" смотреть неприятно (от слова совсем).
Мне проще написать метод ,убив на это 5 минут, нежели чем обновлять фулл гуи и тащить за собой хуеву тучу проблем и несостыковок, что может убить от часу моего времени.
ясно. чел избегает обновлений и винит похуй кого, главное не себя, ибо сидит на задроченном симпле и придумывает на голову себе проблем. если для тебя обновить имгуи или сменить базу - проблема на несколько часов, то до связи.
 
Забаненный
Статус
Оффлайн
Регистрация
11 Май 2020
Сообщения
115
Реакции[?]
91
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ясно. чел избегает обновлений и винит похуй кого, главное не себя, ибо сидит на задроченном симпле и придумывает на голову себе проблем. если для тебя обновить имгуи или сменить базу - проблема на несколько часов, то до связи.
ясно, чел думает, что ради рендера ссаного кружка надо обновлять гуи или (с какого-то хуя) менять базу,ну ок че. держи в курсе.
 
Забаненный
Статус
Оффлайн
Регистрация
22 Апр 2020
Сообщения
731
Реакции[?]
752
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ясно. чел избегает обновлений и винит похуй кого, главное не себя, ибо сидит на задроченном симпле и придумывает на голову себе проблем. если для тебя обновить имгуи или сменить базу - проблема на несколько часов, то до связи.
Причём тут нахуй симпл вообще?
И на кой хуй менять имгуи, если абсолютно так же, ты не сможешь отрисовать идеально ровный имейдж кругом. Он у тебя будет с углами, и это не есть прикольно. И искать в конфигах имгуя что то ,что даст это пофиксить - лишний заёб. Проще взять код с этого треда, и более не выёбываться. Признай уже что ты тупо обосрался, мы все это поняли
 
GDPR_Anonymous
Пользователь
Статус
Оффлайн
Регистрация
17 Фев 2017
Сообщения
362
Реакции[?]
133
Поинты[?]
0
ясно, чел думает, что ради рендера ссаного кружка надо обновлять гуи или (с какого-то хуя) менять базу,ну ок че. держи в курсе.
неприязнь к симплу, его время уже прошло и ты проебешь больше времени на обновлении другой параши в нем, нежели перейдешь на другую базу поновее.
Причём тут нахуй симпл вообще?
ты не сможешь отрисовать идеально ровный имейдж кругом. Он у тебя будет с углами, и это не есть прикольно.
эм найти Ctrl+F IM_DRAWLIST_ARCFAST_TESSELLATION_MULTIPLIER и поменять 1 цифру для тебя проблема? ебать ладно.
 
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
неприязнь к симплу, его время уже прошло и ты проебешь больше времени на обновлении другой параши в нем нежели перейдешь на другую базу поновее.
Всмысле его время прошло? Дядя... Что не так с симплом? И что на нем сделать сложнее, чем на условном wok'e? Обновить имгуй как ты и говорил дело нескольких минут. К тому же с таким количеством гайдов симпл всегда будет самой лучшей базой для пастеров.
А для НЕ пастеров база вообще не имеет значения, только разве что личные предпочтения (например мне кодстайл аристоиса режет глаза)
 
GDPR_Anonymous
Пользователь
Статус
Оффлайн
Регистрация
17 Фев 2017
Сообщения
362
Реакции[?]
133
Поинты[?]
0
Обновить имгуй как ты и говорил дело нескольких минут.
Мне проще написать метод ,убив на это 5 минут, нежели чем обновлять фулл гуи и тащить за собой хуеву тучу проблем и несостыковок, что может убить от часу моего времени.
видимо не для всех
 
Сверху Снизу