2010-05-07 195 views
1

我正在尋找一種很好的方法來抗鋸掉我用actionscript3生成的位圖。我的目標是從頭開始實現這一過程。抗鋸齒算法

我讀了很多主題,但最常見的算法看起來太重,無法在我的swf中正常工作,因爲我使用了scale2x算法來平滑我的形狀的邊緣。它不一定是創造性的,因爲我的形狀是黑白的!

任何暗示將不勝感激,謝謝:)

+0

你是什麼意思,「太大聲」? – 2010-05-07 09:08:48

+0

太大聲?那是什麼意思? – spender 2010-05-07 09:09:40

+0

我的意思是這是怪異的cpu密集型,我爲錯誤的翻譯道歉:( – 2010-05-07 10:07:23

回答

2

Xiaolin Wu's line algorithm是可以使用的。這是快速和容易實施。

+0

它看起來像吳小林的線算法需要知道線的座標,這不符合我所需要的,因爲我打算完全平滑隨機「blob」形狀 - 我應該看看我能用它做什麼 這個維基百科文章指出我可以在googlebooks上閱讀的Graphics Gems書籍:http://bit.ly/cfJW5N 感謝Joa – 2010-05-07 10:15:01

+0

@ y_nk:你可以使用SVG,在網絡上有幾個as3渲染器,你可以修改它們以渲染位圖幷包含抗鋸齒,並且它認爲已經有一個實現在sephiroth或senocular庫中的位圖上進行反鋸齒繪製。現在找不到它,但我很確定我看到了它(我猜它是sephiroth)。 – back2dos 2010-05-07 13:23:28

+0

@ back2dos:我不確定你確切地知道你在說什麼。你的意思是用beginBitmapFill繪製位圖的形狀並啓用平滑處理? 我的隨機形狀只與純黑色和白色像素,我想創造一些灰色的像素,使其更光滑。 反正我會去看sephiroth/senocular的libs。感謝提示back2dos! – 2010-05-07 13:37:08

1

以2倍大小繪製您的形狀,然後將其縮小到1/2的大小,依靠Flash本身來平滑。如果你需要更多的平滑,增加因素(3x + 1/3等)。你沒有給出很多關於你正在繪製的細節的細節,所以這可能會或可能不夠快,你必須嘗試一下。 PS:未來,如果您想要更多的問題解答,請不要將其中一個答案標記爲已接受。如果他們看到你已經接受了一個答案,人們會跳過你的問題。

+0

感謝您的建議。我會盡快嘗試 – 2010-05-18 10:54:27