android毛筆筆鋒

2021-06-22 01:38:02 字數 1068 閱讀 4968

任何畫線的程式,都是先在介面上獲取若干不連續的點,然後將這些點連成線。

一些常見的筆型比較好實現,比如說鉛筆、鋼筆等等,這類筆型的線條的寬度和線條的顏色是固定的,只需要將點連線成固定顏色和固定寬度的線即可。

毛筆是比較特殊的筆型,要實現好毛筆效果,有幾點比較特殊,需要考慮。

1. 同一筆畫內,線條各處的粗細不同。

2. 同一筆畫內,線條各處的透明度不同。

3. 有筆鋒效果。

實現思路:

先說筆鋒效果。對筆鋒效果的處理,一般在一筆的開始和結尾處特殊處理,特別是橫豎筆畫。

再說線條的透明度。一般來說,下筆速度慢、下筆力量重的地方,線條顏色較深;下筆速度快、下筆力量輕的地方,線條顏色較淺。

再說線條粗細。一般來說,下筆速度慢、下筆力量重的地方,線條較粗;下筆速度快、下筆力量輕的地方,線條較窄。

實現毛筆效果,不能簡單的直接在面板上畫線,而是要計算出乙個線條區域,然後進行填充。大概演算法:

1. 根據使用者的輸入得到連續的點資訊。

2. 根據每個點之間的間隔距離,模擬計算出下筆速度。

3. 將速度與觸控壓力(觸控螢幕的程式可以得到壓力資訊)結合,模擬計算出每個點的大小。如果無法得到觸控壓力,或者不考慮壓力,則可以只用速度來模擬計算。

4. 根據每個點的座標和大小值,計算出所有需要填充的區域。

5. 模擬計算每塊填充區域的透明效果。

6. 處理每一筆的初始和結尾點,模擬筆鋒效果。

7. 根據計算好的效果,畫出所有填充的區域。

要做好毛筆效果,需要專門研究。能夠做好毛筆效果,其它筆型就簡單多了。

下面是乙個demo圖,執行平台為android,目前也僅僅是根據速度模擬計算出粗細效果,還非常簡單,但是看起來已經蠻酷的了。

android畫板筆鋒實現

在安卓繪圖中,path是乙個很常用的類,使用它可以實現基本的畫線功能,但是自己用path畫出來的同一條線段大小是不會改變的。如果做書寫型別的軟體,當然想要實現更好的逼真的書寫效果,在實際書寫過程中,我們的筆跡通常是帶有筆鋒的。因此,這篇文章主要講解一下具體的實現思路,具體 就不放上來了,有興趣的可以...

C 毛筆效果

毛筆是比較特殊的筆型,要實現好毛筆效果,有幾點比較特殊,需要考慮。1.同一筆畫內,線條各處的粗細不同。2.同一筆畫內,線條各處的透明度不同。3.有筆鋒效果。實現思路 先說筆鋒效果。對筆鋒效果的處理,一般在一筆的開始和結尾處特殊處理,特別是橫豎筆畫。再說線條的透明度。一般來說,下筆速度慢 下筆力量重的...

毛筆效果簡單思路

任何畫線的程式,都是先在介面上獲取若干不連續的點,然後將這些點連成線。一些常見的筆型比較好實現,比如說鉛筆 鋼筆等等,這類筆型的線條的寬度和線條的顏色是固定的,只需要將點連線成固定顏色和固定寬度的線即可。毛筆是比較特殊的筆型,要實現好毛筆效果,有幾點比較特殊,需要考慮。1.同一筆畫內,線條各處的粗細...