3D图像屏蔽android

时间:2014-04-16 11:37:00

标签: android bitmap 3d masking porter-duff

我正在开发一个关于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);  
    }

我想要的输出如下图所示。提前谢谢

enter image description here

0 个答案:

没有答案
相关问题