繁体   English   中英

如何画线(斜线)?

[英]How do I draw line (slanting line)?

如何绘制非正交线?

如果我们有一条正交线,那很简单:

考虑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的算法,如果需要,可以选择Xiaolin-Wu的 算法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM