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;
}
BitmapManager.java 文件源码
java
阅读 23
收藏 0
点赞 0
评论 0
项目:videoMerge
作者:
评论列表
文章目录