我需要能夠接受橢圓(計算)的畫筆參數,如間距,硬度,圓度,角度和直徑,然後根據這些屬性計算位圖圖像。創建橢圓刷的圖像的算法?
有沒有人知道算法(或我可以找到它)來做到這一點?我在圖形編程方面的經驗有限,到目前爲止我一直無法找到它。
我需要能夠接受橢圓(計算)的畫筆參數,如間距,硬度,圓度,角度和直徑,然後根據這些屬性計算位圖圖像。創建橢圓刷的圖像的算法?
有沒有人知道算法(或我可以找到它)來做到這一點?我在圖形編程方面的經驗有限,到目前爲止我一直無法找到它。
這是你想使用庫的一種,很可能是Java 2D API。它包括填充,筆劃,變換和過濾器的功能。其模型與許多庫相似,因爲您可以使用運算符moveTo
和lineTo
或curveTo
描繪路徑,這些運算符被抽象爲形狀如Ellipse2D
;然後使用繪製操作符填充或描畫所得到的路徑。我強烈推薦閱讀Java 2D教程,並理解不同部分如何組合在一起。
我將採取大致有以下步驟來創建該圖:
BuferredImage
並調用其createGraphics
方法來獲取繪圖上下文。
ConvolveOp
和you can find一種用於計算Java中的高斯內核的算法。另一種選擇可能是Apache的Batik SVG庫,因爲你可以聲明表達你想要的繪圖(包括轉換和過濾器),並把它光柵化你。
的公式,橢圓的非常有用的名單可以在這裏找到:http://xahlee.org/SpecialPlaneCurves_dir/Ellipse_dir/ellipse.html
想想每個式中的位圖意味着大約單個像素(無論是在輸入/輸出橢圓的,無論是附近的邊緣)以及哪些屬性對你有用。
什麼語言? - – 2010-03-14 20:38:16
我正在使用Java。 – juan2raid 2010-03-14 20:39:32