我正在尋找一個快速的算法來繪製一個概述的線條。對於這個應用程序,輪廓只需要1個像素寬。無論是默認還是通過選項,應該可以使兩條線無縫連接在一起,如果它們有共同點。尋找一個快速概述的線條渲染算法
打擾ASCII藝術,但這可能是證明它的最好方法。
法線:
##
##
##
##
##
##
「概述」 行:
**
*##**
**##**
**##**
**##**
**##**
**##*
**
我工作的一個dsPIC33FJ128GP802。它是一個小型的微控制器/數字信號處理器,能夠達到40MIPS(每秒百萬條指令)。它只能進行整數運算(加法,減法和乘法:可以進行除法運算,但需要約19個週期)。同時處理OSD層,處理時間只有3-4 MIPS可用於計算,因此速度至關重要。像素佔據三種狀態:黑色,白色和透明;視頻領域是192x128像素。這是一個開源項目的超級OSD:http://code.google.com/p/super-osd/
我想到的第一個解決方案是在第一遍繪製3x3矩形的輪廓像素和第二遍的常規像素,但這可能會很慢,至於每個像素至少有3個像素被覆蓋,花費在繪製它們上的時間被浪費。所以我正在尋找更快的方法。每個像素花費大約30個週期。目標是< 50,000個週期繪製一條100像素長度的線。
我不認爲[如何使用Bresenham創建任意厚度的線?](http://stackoverflow.com/questions/1222713/how-do-i-create-a-line-of-任意厚度使用bresenham)是重複的,但它可能是相關的。 – dmckee 2010-10-11 17:30:30
+1感謝您的鏈接。這涉及到輪廓線,所以我正在尋找一種用邊框繪製線條的有效方法。畫一條粗線然後細線與我給出的選項基本相同。 – 2010-10-11 17:33:43
線寬是1像素嗎? – ybungalobill 2010-10-12 10:53:50