2013-09-16 91 views
2

我一個位圖繪製矩形,其邊框爲抗鋸齒還是有一定的效果,你可以看到: enter image description here原始圖像:enter image description here安卓:drawRect中沒有抗鋸齒

如何關閉該效果得到實線,如這樣的:

enter image description hereenter image description here

我用這個代碼:

Bitmap mBuffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); 
gfx = new Canvas(mBuffer); 

Paint paintNorm = new Paint(); 
paintNorm.setAntiAlias(false); 
paintNorm.setStrokeWidth(1); 
paintNorm.setStyle(Paint.Style.STROKE); 
paintNorm.clearShadowLayer(); 
paintNorm.setDither(false); 
paintNorm.setFilterBitmap(false); 

paintNorm.setColor(0xFFA8A8A8); 
gfx.drawRect(2,3,50,50, paintNorm); 

回答

0

我的印象是,您的位圖是正確繪製沒有抗鋸齒,但模糊的效果可能來自放大顯示位圖時。您的屏幕截圖寬度爲245像素,但您的代碼似乎表明矩形應該大約爲50像素左右。

+0

這些圖像放大讓你看到我在說什麼。這種模糊的效果不是通過縮放!當我畫一條簡單的線時,效果是一樣的。 – Zsolt

+0

對不起,我的猜測是錯誤的。也許問題出在單位上。如果將StrokeWidth設置爲0,會發生什麼情況? –

+0

我已經試過了。不幸的是同樣的。首先,我想繪製一個簡單的填充矩形,它有相同的邊框。當我畫出一些文字並且效果相同時,我感到很驚訝。如果我繪製的文本沒有抗鋸齒功能,那麼它的抗鋸齒效果很小,但是當我開啓抗鋸齒功能時,我可以感覺到這種差異,它更抗鋸齒。不明白。 – Zsolt