如何绘制非正交线?
如果我们有一条正交线,这很容易:
考虑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 ;
  }
}

如果要绘制非正交线,例如:
x1=100,y1=80,x2=115,y2=185
我该如何构造一个循环来画这条线?

最佳答案

如果不需要消除混叠,可以从我建议的Bresenham's algorithmXiaolin-Wu's中选择一些算法。

关于c++ - 如何画线(斜线)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10528201/

10-11 01:03