使用android中drawline函數無法繪製水平線的解決辦法

    最近使用canvas在android上做繪圖開發,發現如果Paint的setStrokeWidth設置爲1,且canvas沒有設置抗鋸齒效果,則drawline函數將無法繪製出水平的線段,這是爲什麼呢?原來,如果你將StrokeWidth設爲0,android將爲你繪製hairline(一般爲1pix),而如果你設置爲1,那麼android將根據比例爲你計算1單位寬度所佔的像素值,比如你現在的比例是0.75,則android就無法繪製出寬度爲0.75像素的線段(特別是在模擬器上,可能更容易出現這種情況,因爲電腦像素與手機像素大小不一樣)。

  那麼怎麼解決這個問題呢?其實很簡單---雖然我是經過了一上午的時間才琢磨出來的,以爲我的問題是在畫multiline的時候,一條線段的部分被打斷了!!!。那就是爲Paint設置抗鋸齒效果,方法爲:Paint pen = new Paint(Paint.ANTI_ALIAS_FLAG );

  去試試效果吧!

  忍不住要小抱怨一句:咋這麼不智能呢?竟然還允許有畫不出水平線的情況發生~~~~~驚恐

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章