Usually samples that I see,use this methods when try to draw bitmaps on canvas.For example:
paint.setAntiAlias(true);
paint.setFilterBitmap(true);
paint.setDither(true);
But I do not know what those three methods do?When I have to use them?
Usually samples that I see,use this methods when try to draw bitmaps on canvas.For example:
paint.setAntiAlias(true);
paint.setFilterBitmap(true);
paint.setDither(true);
But I do not know what those three methods do?When I have to use them?
从文档
setFlags() 的助手,设置或清除 ANTI_ALIAS_FLAG 位 AntiAliasing 平滑正在绘制的边缘,但对形状的内部没有影响。请参阅 setDither() 和 setFilterBitmap() 以影响颜色的处理方式。
setFlags() 的助手,设置或清除 FILTER_BITMAP_FLAG 位。过滤会影响位图在变换时的采样。过滤不会影响位图中的颜色如何转换为设备像素。这取决于抖动和 xfermodes。
setFlags() 的助手,设置或清除 DITHER_FLAG 位抖动会影响比设备精度更高的颜色如何被下采样。没有抖动通常更快,但精度更高的颜色会被截断(例如 8888 -> 565)。抖动尝试分配此过程中固有的错误,以减少视觉伪影。
我想解释一下抗锯齿如何产生平滑的边缘,它通过混合前景和背景颜色来创建更平滑的边缘。比如背景色是透明的,前景色是蓝色的,抗锯齿会使边缘的像素逐渐从蓝色变为透明。这使边缘看起来光滑。