2013-09-16 49 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