public static Bitmap getViewBitmap2(Bitmap bitmap, Drawable backgroundDrawable, int width, int height) {
Bitmap newBitmap = copy(bitmap);
// 创建一个Canvas对象,并将新的Bitmap绑定到Canvas上
Canvas canvas = new Canvas(newBitmap);
backgroundDrawable.draw(canvas);
// 填充指定颜色的矩形
Paint paint = new Paint();
// paint.setColor(Color.RED); // 替换为你想要的颜色
// canvas.drawRect(0, 0, newBitmap.getWidth(), newBitmap.getHeight(), paint);
// 设置绘制模式为SRC_ATOP,去上层交集部分与下层非交集部分
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_ATOP));
// 在Canvas上绘制原始的Bitmap
canvas.drawBitmap(bitmap, 0, 0, paint);
extractBitmap(newBitmap, bitmap);
// 清除Xfermode,恢复绘制模式
paint.setXfermode(null);
// 返回新的Bitmap对象
return newBitmap;
}
Canvas 绘制带背景的透明图片
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在做view保存图片后,压缩格式转为jpg的时候出现了黑色背景,其根本原因在于透明背景时背景的情况下,转换为jpg...
- 问题原因: dom容器的背景颜色不为透明,将dom容器样式设置为background: transparent h...
- @[toc] 1. 简单图片廊 效果image.png 将浏览器拉窄image.png 继续拉窄image.png...
- 说在最前 在使用pillow制作海报的过程中,最经常用的场景: 文字居中(地址) 粘贴一张带透明背景的png图片(...