0
#include <graphics.h>
#include <bits/stdc++.h>

using namespace std;

void bresen(int x0, int y0, int x1, int y1)
{
    int dx, dy, p, x, y;
    dx=x1-x0;
    dy=y1-y0;
    x=x0;
    y=y0;
    p=2*dy-dx;
    while(x<x1)
    {
        if(p>=0)
        {
            putpixel(x,y,BLUE);
            y=y+1;
            p=p+2*dy-2*dx;
        }
        else
        {
            putpixel(x,y,BLUE);
            p=p+2*dy;
        }
        x=x+1;
    }
}

int main()
{
    int gdriver=DETECT, gmode, x0, y0, x1, 
    initgraph(&gdriver, &gmode,"");
    bresen(100,100,200,200);
    getch();
    closegraph();
    return 0;
}

这是输出屏幕的屏幕截图。我还尝试在 initgraph 中复制库文件夹的路径,但这也不起作用。它在编译时没有显示任何错误。

output_screen_screenshot

4

1 回答 1

0

有同样的问题,文件或安装没有任何问题,因为我假设您已正确完成安装。

尝试这个 :

标题:

#include<iostream>
#include<graphics.h>
using namespace std;

内部主要功能:

在开始:

initwindow(1024, 700);

在 return 0 之前保持输出:

cin.get();

摆脱 :

   int gdriver=DETECT, gmode, x0, y0, x1, 
   initgraph(&gdriver, &gmode,"");
   getch();
   closegraph();

代码 :

#include<iostream>
#include<graphics.h>
using namespace std;
void bresen(int x0, int y0, int x1, int y1)
{
    int dx, dy, p, x, y;
    dx=x1-x0;
    dy=y1-y0;
    x=x0;
    y=y0;
    p=2*dy-dx;
    while(x<x1)
    {
        if(p>=0)
        {
            putpixel(x,y,RED);
            y=y+1;
            p=p+2*dy-2*dx;
        }
        else
        {
            putpixel(x,y,BLUE);
            p=p+2*dy;
        }
        x=x+1;
    }
}
int main()
{
    initwindow(1024, 700);
    bresen(100,100,200,200);
    cin.get();
    return 0;
}

输出

您可能需要放大才能看到那条红线

于 2021-09-22T12:03:56.880 回答