PorterDuff.Mode 类结构:

Porter-Duff
Porter-Duff 这个类名是为了表达对 Thomas Porter 和 Tom Duff 的敬意,他们于 1984 年发表了一篇名为 “Compositing Digital Images”(合成数字图像)的开创性论文。在这篇文章中,两位作者描述了12种合成操作符,具体来说就是当我们把原图像绘制到目标图像处时应该如何计算二者结合后的颜色。
他们论文所提到的12种操作称为 alpha 合成模式。
后来google 又加入了5中混合模式

Paint paint = new Paint();
canvas.drawBitmap(destinationImage, 0, 0, paint);
PorterDuff.Mode mode = // choose a mode
paint.setXfermode(new PorterDuffXfermode(mode));
canvas.drawBitmap(sourceImage, 0, 0, paint);
alpha 合成模式

混合模式

网友评论