我正在开发一个关于3D图像屏蔽的应用程序。为此我有不同的透明图像并将它们放在一个数组中。我已经搜索了很多,最后我使用了PorterDuffXfermode来实现屏蔽。但是我只能得到一个屏蔽立即图像。请看下面的代码
private void makeMask() {
// TODO Auto-generated method stub
ImageView imageView=new ImageView(this);
Canvas mCanvas;
for(int i=0;i<maskBitmaps.length;i++){
//mask image
Bitmap mask=BitmapFactory.decodeResource(getResources(), maskBitmaps[i]);
Bitmap original=BitmapFactory.decodeResource(getResources(), R.drawable.nature);
Bitmap result = Bitmap.createBitmap((int)width,(int)height, Config.ARGB_8888);
Canvas mCanvas = new Canvas(result);
Paint maskPaint = new Paint();
mCanvas.drawBitmap(original, 0, 0, null);
maskPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
mCanvas.drawBitmap(mask, 0, 0, maskPaint);
maskPaint.setXfermode(null);
imageView.setImageBitmap(result);
setContentView(imageView);
}
我想要的输出如下图所示。提前谢谢