Розыгрыш Premium и Уникальной юзергруппы на форуме! Перейти


  • УЖЕ ЗАВТРА! Просто зашёл, нажал на кнопку участия и забрал кучу призов уже 30-го декабря: https://yougame.biz/threads/366947/

Как создать градиент? | C++

how to доказать всем что не еблан
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
14 Авг 2019
Сообщения
429
Реакции
126
Как создать градиент?
Обьясняйте пожалуйста с примером кода.
И если у вас есть хорошие источники , где все подробно расписано , прошу кидать ссылку в ЛС.
 
C++:
Expand Collapse Copy
public void UseHorizontalLinearGradients(PaintEventArgs e)
{
    LinearGradientBrush linGrBrush = new LinearGradientBrush(
       new Point(0, 10),
       new Point(200, 10),
       Color.FromArgb(255, 255, 0, 0),   // Opaque red
       Color.FromArgb(255, 0, 0, 255));  // Opaque blue

    Pen pen = new Pen(linGrBrush);

    e.Graphics.DrawLine(pen, 0, 10, 200, 10);
    e.Graphics.FillEllipse(linGrBrush, 0, 30, 200, 100);
    e.Graphics.FillRectangle(linGrBrush, 0, 155, 500, 30);
}
 
C++:
Expand Collapse Copy
public void UseHorizontalLinearGradients(PaintEventArgs e)
{
    LinearGradientBrush linGrBrush = new LinearGradientBrush(
       new Point(0, 10),
       new Point(200, 10),
       Color.FromArgb(255, 255, 0, 0),   // Opaque red
       Color.FromArgb(255, 0, 0, 255));  // Opaque blue

    Pen pen = new Pen(linGrBrush);

    e.Graphics.DrawLine(pen, 0, 10, 200, 10);
    e.Graphics.FillEllipse(linGrBrush, 0, 30, 200, 100);
    e.Graphics.FillRectangle(linGrBrush, 0, 155, 500, 30);
}
епон ты умный , кидать код с сайта майков и не смотреть что это за код. это c#
 
епон ты умный , кидать код с сайта майков и не смотреть что это за код. это c#
Тебе нужен Imgui?
Код:
Expand Collapse Copy
void ImDrawRectRainbow(int x, int y, int width, int height, float flSpeed, float &flRainbow)
    {
        ImDrawList* windowDrawList = ImGui::GetWindowDrawList();

        Color colColor(0, 0, 0, 255);

        flRainbow += flSpeed;
        if (flRainbow > 1.f) flRainbow = 0.f;//1 0

        for (int i = 0; i < width; i = i + 1)
        {
            float hue = (1.f / (float)width) * i;
            hue -= flRainbow;
            if (hue < 0.f) hue += 1.f;

            Color colRainbow = colColor.FromHSB(hue, 1.f, 1.f);
            windowDrawList->AddRectFilled(ImVec2(x + i, y), ImVec2(width, height), colRainbow.GetU32());
        }
    }
Взято из какой-то пасты
 
Тебе нужен Imgui?
Код:
Expand Collapse Copy
void ImDrawRectRainbow(int x, int y, int width, int height, float flSpeed, float &flRainbow)
    {
        ImDrawList* windowDrawList = ImGui::GetWindowDrawList();

        Color colColor(0, 0, 0, 255);

        flRainbow += flSpeed;
        if (flRainbow > 1.f) flRainbow = 0.f;//1 0

        for (int i = 0; i < width; i = i + 1)
        {
            float hue = (1.f / (float)width) * i;
            hue -= flRainbow;
            if (hue < 0.f) hue += 1.f;

            Color colRainbow = colColor.FromHSB(hue, 1.f, 1.f);
            windowDrawList->AddRectFilled(ImVec2(x + i, y), ImVec2(width, height), colRainbow.GetU32());
        }
    }
Взято из какой-то пасты
Мне нужен просто пример , я дальше сам разберусь.
Нет , ImGui не нужен , не шарю за него =)
 
Мне нужен просто пример , я дальше сам разберусь.
Нет , ImGui не нужен , не шарю за него =)
Окей (пример на GDI+)
Код:
Expand Collapse Copy
public void FillEllipseWithPathGradient(PaintEventArgs e)
{
    GraphicsPath path = new GraphicsPath();
    path.AddEllipse(0, 0, 140, 70);

    PathGradientBrush pthGrBrush = new PathGradientBrush(path);

    pthGrBrush.CenterColor = Color.FromArgb(255, 0, 0, 255);

    Color[] colors = { Color.FromArgb(255, 0, 255, 255) };
    pthGrBrush.SurroundColors = colors;

    e.Graphics.FillEllipse(pthGrBrush, 0, 0, 140, 70);
}
1570177222755.png
 
Назад
Сверху Снизу