C++ 我怎样画线(斜线)?

C++ 我怎样画线(斜线)?,c++,algorithm,line-drawing,C++,Algorithm,Line Drawing,如何绘制非正交线 如果我们有一条正交线,这很容易: 考虑X1=100,Y1=80;X2=100,Y2=185 所以我们在这条线上有类似的东西 for(nRow = Y1; nRow < Y2; nRow++) { for(nCol = X1; nCol < X2; nCol++) { nPixPos = nRow*nEffectiveWidth+nCol*3; Image[nPixPos] = 0 ; /// Image -> unsigned

如何绘制非正交线

如果我们有一条正交线,这很容易:

考虑X1=100,Y1=80;X2=100,Y2=185

所以我们在这条线上有类似的东西

for(nRow = Y1; nRow < Y2; nRow++)
{
   for(nCol = X1; nCol < X2; nCol++)
   {
     nPixPos = nRow*nEffectiveWidth+nCol*3;

     Image[nPixPos] = 0 ; /// Image -> unsigned char * (BUFFER) || 0 -> Black COLOR
     Image[nPixPos+1] = 0 ;
     Image[nPixPos+2] = 0 ;
  }
}
for(nRow=Y1;nRowunsigned char*(缓冲区)| | 0->黑色
图像[nPixPos+1]=0;
图像[nPixPos+2]=0;
}
}
如果要绘制非正交线,例如:

X1=100,Y1=80,X2=115,Y2=185


我该如何构造一个循环来画这条线呢?

如果你不想要消除混叠,如果你想要,我建议你选择一些算法。

如果你不想要消除混叠,如果你想要,我建议你选择一些算法。

如果你正在使用一些图形软件,你应该添加一个标记(如果存在)在C++中,我们不需要知道任何关于绘画的知识。我们需要更多的信息,而不仅仅是你在那里的代码,你用什么来画线?什么是“图像”,0值代表什么?我不知道,我从上下文中很清楚地发现他正在寻找一个总的线绘制算法。嗯,我真的不知道该怎么问这个问题…我猜0代表颜色或某个值,可以关闭像素或平铺…我希望这些问题能帮助你们理解..谢谢@Omniptential如果你在使用一些图形软件,你应该添加一个标记(如果存在的话)在C++中,我们不需要知道任何关于绘画的知识。我们需要更多的信息,而不仅仅是你在那里的代码,你用什么来画线?什么是“图像”,0值代表什么?我不知道,我从上下文中很清楚地发现他正在寻找一个总的线绘制算法。嗯,我真的不明白该怎么问这个问题……我猜0代表颜色或某个值,可以关闭像素或瓷砖……我希望这些问题能帮助你们理解……谢谢@Omnipentity