天天看點

【android入門】之Android Canvas繪圖抗鋸齒解決方法

對于Android來說Canvas一般大量用于自定義View和遊戲開發中,對于圖形的基礎繪制類,提供的drawText、drawBitmap以及drawCircle都需要抗鋸齒處理才能讓人滿意,下面Android123将他們分為兩大種情況。

 一、包含Paint參數情況時,對于drawText、drawBitmap這樣的方法,一般最後一個參數為Paint對象,Paint對象一般用于設定筆刷顔色和大小,同時包含了抗鋸齒的方法,比如說objPaint.setAntiAlias(true);  這個方法執行後即可有比較明顯的改善。

 二、部分方法沒有Paint參數,比如說setDrawFilter這個方法,它的參數隻有 PaintFlagsDrawFilter對象,我們自己構造一個新的對象,比如說new PaintFlagsDrawFilter(0,Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG)這樣就過濾器可以讓文本和位圖經過圓滑處理。

注:Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG這個也可以直接改成3;1表示去掉線的鋸齒,2表示去掉圖檔的鋸齒。按位與後3就表示都去掉。

繼續閱讀