使用canvas.drawBitmap画出的图片能否设置背景色??

A42382658849 2016-04-25 10:50:54
当前有个解决不了的问题:
使用canvas.drawBitmap画出的图片能否设置背景色来可以实现填充这个图片透明的部分。
...全文
456 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
A42382658849 2016-04-25
  • 打赏
  • 举报
回复
canvas.drawColor是设置画布的背景色,而画布上有其他图形,这样会影响到。没有精确设置那图片背景色的办法么?
只为搞笑 2016-04-25
  • 打赏
  • 举报
回复
我理解题主的意思是只给绘制bItmap那一部分加上背景色,其他地方不加。 可以这样来,获取bitmap的高度与宽度,在绘制bitmap之前,根据绘制bitmap的起始位置与bitmap高度宽度,绘制一个你希望的背景颜色的矩形就可以了。

int bitmapX; // 绘制bitmap的X坐标
int bitmapY; // 绘制bitmap的Y坐标
int bitmapWidth = bitmap.getWidth();
int bitmapHeight = bitmap.getHeight();
paint.setColor(backgroundColor);
canvas.drawRect(bitmapX, bitmapY, bitmapX+bitmapWidth, bitmapY+bitmapHeight, paint);
canvas.drawBitmap();
ganshenml 2016-04-25
  • 打赏
  • 举报
回复
A42382658849 2016-04-25
  • 打赏
  • 举报
回复
引用 2 楼 u010668114 的回复:
我理解题主的意思是只给绘制bItmap那一部分加上背景色,其他地方不加。 可以这样来,获取bitmap的高度与宽度,在绘制bitmap之前,根据绘制bitmap的起始位置与bitmap高度宽度,绘制一个你希望的背景颜色的矩形就可以了。

int bitmapX; // 绘制bitmap的X坐标
int bitmapY; // 绘制bitmap的Y坐标
int bitmapWidth = bitmap.getWidth();
int bitmapHeight = bitmap.getHeight();
paint.setColor(backgroundColor);
canvas.drawRect(bitmapX, bitmapY, bitmapX+bitmapWidth, bitmapY+bitmapHeight, paint);
canvas.drawBitmap();
这个思路确实可以,太感谢了!!!!

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧