Android setDither、setFilterBitmap和setAntiAlias在画布中做什么?

Android setDither、setFilterBitmap和setAntiAlias在画布中做什么?,android,bitmap,android-canvas,Android,Bitmap,Android Canvas,通常我看到的示例,在画布上绘制位图时使用以下方法: 但我不知道这三种方法是什么?当我不得不使用它们时?来自 setFlags()的助手,设置或清除反\u别名\u标志位 抗锯齿平滑正在绘制的对象的边,但它具有 对形状的内部没有影响。请参见setDither()和 setFilterBitmap()以影响颜色的处理方式 setFlags()的助手,设置或清除过滤器\u位图\u标志位。 过滤会影响位图转换时的采样。 过滤不会影响位图中颜色的转换方式 转换为设备像素。这取决于抖动和xfermodes

通常我看到的示例,在画布上绘制位图时使用以下方法:

但我不知道这三种方法是什么?当我不得不使用它们时?

来自

setFlags()的助手,设置或清除反\u别名\u标志位 抗锯齿平滑正在绘制的对象的边,但它具有 对形状的内部没有影响。请参见setDither()和 setFilterBitmap()以影响颜色的处理方式

setFlags()的助手,设置或清除过滤器\u位图\u标志位。 过滤会影响位图转换时的采样。 过滤不会影响位图中颜色的转换方式 转换为设备像素。这取决于抖动和xfermodes

setFlags()的助手,设置或清除抖动标志位 抖动会影响比设备精度更高的颜色 这些都是下采样的。无抖动通常更快,但更高 精确颜色只是被截断(例如8888->565)。抖动 尝试分配此过程中固有的错误,以减少 视觉伪影


我想解释一下anti-alias是如何生成平滑边缘的,它通过混合前景色和背景色来创建更平滑的边缘。就像背景色是透明的,前景色是蓝色一样,抗锯齿将使边缘上的像素逐渐从蓝色变为透明。这使边缘看起来很光滑。

请举这三个例子,或者至少给出更友好的解释。我听不懂字面意思。
paint.setAntiAlias(true);
paint.setFilterBitmap(true);
paint.setDither(true);