簡體   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