GDI绘画问题,会的帮一下

关于GDI的问题


#include 
#include 

int main(){
    COLORREF color=RGB(200,100,100);
    HPEN pen=CreatePen(PS_SOLID,5,color);
    HDC gdc = GetDC(NULL);
    
    MoveToEx(gdc,100,100,NULL);
    LineTo(gdc,200,200);
}

我想在控制台上画一条斜线,但是控制台什么也没有

以下是详细解答,望采纳

你想在控制台窗口画一条斜线,但是你使用的是 Windows 图形设备接口 (GDI) 的函数。GDI 函数通常用于绘制图形到窗口或控件上,而不是控制台。如果你想在控制台上绘制图形,你应该使用控制台函数,例如 SetConsoleCursorPosition 和 WriteConsoleOutputCharacter。

下面是一个简单的示例,它在控制台窗口的左上角画一条斜线:

#include <windows.h>

int main()
{
    // 获取控制台句柄
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    if (hConsole == INVALID_HANDLE_VALUE)
    {
        return 1;
    }

    // 设置光标的位置
    COORD coord = {0, 0};
    if (!SetConsoleCursorPosition(hConsole, coord))
    {
        return 1;
    }

    // 绘制斜线
    for (int i = 0; i < 10; ++i)
    {
        if (!WriteConsoleOutputCharacter(hConsole, L"/", 1, coord, NULL))
        {
            return 1;
        }
        ++coord.X;
        ++coord.Y;
    }

    return 0;
}

这段代码使用了 SetConsoleCursorPosition 函数来设置光标的位置,并使用 WriteConsoleOutputCharacter 函数来绘制字符。这些函数属于控制台函数,它们可以用于在控制台窗口中绘制文本。