BitmapManager.java 文件源码

java
阅读 23 收藏 0 点赞 0 评论 0

项目:videoMerge 作者:
private Bitmap MaskBitmap(Bitmap bitmap, Bitmap mask, int size, Xfermode mode) {
    if (null == bitmap || mask == null) {
        return null;
    }
    //定义期望大小的bitmap
    Bitmap dstBmp = Bitmap.createBitmap(size, size, Config.ARGB_8888);
    //定义一个画布
    Canvas canvas = new Canvas(dstBmp);
    //创建一个取消锯齿画笔
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    //定义需要绘制的某图片上的那一部分矩形空间
    Rect src = new Rect(0, 0, mask.getWidth(), mask.getHeight());
    //定义需要将上面的矩形绘制成新的矩形大小
    Rect dst = new Rect(0, 0, size, size);
    //将蒙版图片绘制成imageview本身的大小,这样从大小才会和UE标注的一样大
    canvas.drawBitmap(mask, src, dst, paint);
    //设置两张图片的相交模式
    //至于这个函数介绍参考网址:http://blog.csdn.net/wm111/article/details/7299294
    paint.setXfermode(mode);
    //将src修改为需要添加mask的bitmap大小,因为是要将此bitmap整个添加上蒙版
    src.right = bitmap.getWidth();
    src.bottom = bitmap.getHeight();
    //在已经绘制的mask上叠加bitmap
    canvas.drawBitmap(bitmap, src, dst, paint);
    return dstBmp;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号