android图片合成

来源:互联网 发布:java 标准库数据结构 编辑:程序博客网 时间:2024/05/16 19:33



/**     * 合成两个图,src为显示范围,dst为显示内容     * @param srcBitmap     * @param dstBitmap     * @return     */    public static Bitmap compositeImages(Bitmap srcBitmap , Bitmap dstBitmap){        Bitmap bmp = null;        //下面这个Bitmap中创建的函数就可以创建一个空的Bitmap        bmp = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), srcBitmap.getConfig());        Paint paint = new Paint();        Canvas canvas = new Canvas(bmp);        //首先绘制第一张图片,很简单,就是和方法中getDstImage一样        canvas.drawBitmap(srcBitmap, 0, 0, paint);        //在绘制第二张图片的时候,我们需要指定一个Xfermode        //这里采用Multiply模式,这个模式是将两张图片的对应的点的像素相乘        //,再除以255,然后以新的像素来重新绘制显示合成后的图像        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.MULTIPLY));        canvas.drawBitmap(dstBitmap,new Rect(0,0,dstBitmap.getWidth(),dstBitmap.getHeight()),                new Rect(0,0,srcBitmap.getWidth(),srcBitmap.getHeight()),paint);        return bmp;    }

0 0
原创粉丝点击