Android混合位图

时间:2019-05-09 06:40:28

标签: android

我正在尝试创建人脸交换应用程序,但是在混合人脸位图时遇到问题。我尝试了不同的XferModes,尝试添加ColorFilter,尝试使用setAlpha的人脸位图,但我只是无法获得想要的结果。

这是我的代码:

Canvas canvas = new Canvas(tempBitmap1);
Paint p = new Paint();
Bitmap faceBitmapScaled = Bitmap.createScaledBitmap(FilterSystem.selectedImage, (int)(face.getWidth()*1.7), (int)(face.getHeight()*1.7), false);
p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.MULTIPLY));
canvas.drawBitmap(base, 0,0 ,null);
canvas.drawBitmap(faceBitmapScaled, left, top, p);

未应用XferMode

enter image description here

PorterDuff.Mode.Multiply

enter image description here

我想要得到的结果。如您所见,尽管基础具有深色肤色,面部位图具有非常浅的色彩,但它仍能够完美融合。我知道我必须在这里修改多个值(对比度,亮度等),但我不知道哪个值。 :

enter image description here

0 个答案:

没有答案