今天在读程序源码的过程中到一段这样的代码:
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));
不太明白,Google了一下,原来是进行:抗锯齿处理的。同时,学习了一下Android绘图中的两种抗锯齿处理方式。
首先要搞明白锯齿是什么?如下图所示,左边为未经过抗锯齿处理的图形,右面为经过抗锯齿处理的图形,明显可以看到,经过抗锯齿处理的图形会显得更加圆滑一些。
在Android绘图中同样会出现这个问题,可是为什么会出现锯齿呢?
①当我们用Canvas绘制位图的时候,如果对位图进行了选择,则位图会出现锯齿。
② 在用View的RotateAnimation做动画时候,如果View当中包含有大量的图形,也会出现锯齿。
那么如何来解决呢?只要把握住一点,能通过Paint设置的就用Paint设置,如果不能用Paint设置的就直接给Canvas加上抗锯齿。
解决方案一,通过Pa