RGB Specific Console Text Color C++

后端 未结 3 929
你的背包
你的背包 2020-12-14 21:07

I\'m trying to set a win32 console application\'s font color to a specific RGB value like 50, 75, 90 respectively. I\'ve already tried SetConsoleTextAttribute()

3条回答
  •  南方客
    南方客 (楼主)
    2020-12-14 21:40

    There is a way to make it so the text is completely RGB, but it requires 'SetPixel' if you make a replica of the text you can then change the RGB values, here is something I made for A, it is hard to do, but I'm making a .h file so everyone can use it, here you go:

    void PrintA(int R, int G, int B)
    {
        HWND myconsole = GetConsoleWindow();
        HDC mydc = GetDC(myconsole);
        SetPixel(mydc, i + 0, i2 + 3, RGB(R, G, B));
        SetPixel(mydc, i + 0, i2 + 4, RGB(R, G, B));
        SetPixel(mydc, i + 0, i2 + 5, RGB(R, G, B));
        SetPixel(mydc, i + 0, i2 + 6, RGB(R, G, B));
        SetPixel(mydc, i + 0, i2 + 7, RGB(R, G, B));
        SetPixel(mydc, i + 0, i2 + 8, RGB(R, G, B));
        SetPixel(mydc, i + 0, i2 + 9, RGB(R, G, B));
        SetPixel(mydc, i + 1, i2 + 2, RGB(R, G, B));
        SetPixel(mydc, i + 1, i2 + 3, RGB(R, G, B));
        SetPixel(mydc, i + 1, i2 + 4, RGB(R, G, B));
        SetPixel(mydc, i + 1, i2 + 5, RGB(R, G, B));
        SetPixel(mydc, i + 1, i2 + 6, RGB(R, G, B));
        SetPixel(mydc, i + 1, i2 + 7, RGB(R, G, B));
        SetPixel(mydc, i + 1, i2 + 8, RGB(R, G, B));
        SetPixel(mydc, i + 1, i2 + 9, RGB(R, G, B));
        SetPixel(mydc, i + 2, i2 + 1, RGB(R, G, B));
        SetPixel(mydc, i + 2, i2 + 2, RGB(R, G, B));
        SetPixel(mydc, i + 2, i2 + 6, RGB(R, G, B));
        SetPixel(mydc, i + 3, i2 + 1, RGB(R, G, B));
        SetPixel(mydc, i + 3, i2 + 2, RGB(R, G, B));
        SetPixel(mydc, i + 3, i2 + 6, RGB(R, G, B));
        SetPixel(mydc, i + 4, i2 + 2, RGB(R, G, B));
        SetPixel(mydc, i + 4, i2 + 3, RGB(R, G, B));
        SetPixel(mydc, i + 4, i2 + 4, RGB(R, G, B));
        SetPixel(mydc, i + 4, i2 + 5, RGB(R, G, B));
        SetPixel(mydc, i + 4, i2 + 6, RGB(R, G, B));
        SetPixel(mydc, i + 4, i2 + 7, RGB(R, G, B));
        SetPixel(mydc, i + 4, i2 + 8, RGB(R, G, B));
        SetPixel(mydc, i + 4, i2 + 9, RGB(R, G, B));
        SetPixel(mydc, i + 5, i2 + 3, RGB(R, G, B));
        SetPixel(mydc, i + 5, i2 + 4, RGB(R, G, B));
        SetPixel(mydc, i + 5, i2 + 5, RGB(R, G, B));
        SetPixel(mydc, i + 5, i2 + 6, RGB(R, G, B));
        SetPixel(mydc, i + 5, i2 + 7, RGB(R, G, B));
        SetPixel(mydc, i + 5, i2 + 8, RGB(R, G, B));
        SetPixel(mydc, i + 5, i2 + 9, RGB(R, G, B));
        i += 8;
    
        if (i / 80 == 8)
        {
            i = 0;
            i2 += 12;
        }
    }
    

提交回复
热议问题