如何绘制非正交线?
如果我们有一条正交线,这很容易:
考虑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 algorithm和Xiaolin-Wu's中选择一些算法。
关于c++ - 如何画线(斜线)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10528201/