android 上用canvas绘图之后,我想清除怎么办 50

比如我有两张图片,一张是另一张是,现在我想通过canvas实现这么一个过程:在人的图片上绘制出第二个图片,也就是给人添加发型,那么问题来了,我这里有好几种发型,当我添加了... 比如我有两张图片,一张是

另一张是

,现在我想通过canvas实现这么一个过程:在人的图片上绘制出第二个图片,也就是给人添加发型,那么问题来了,我这里有好几种发型,当我添加了其中一种之后我觉得不合适,我现在想更换怎么办,或者我觉得不添加更好,想删除发型怎么办?也就是说怎么清楚canvas已经绘制出的图形,请各位指点指点,求帮忙。
展开
 我来答
百度网友f036095c5
2014-10-28 · TA获得超过1234个赞
知道小有建树答主
回答量:729
采纳率:83%
帮助的人:638万
展开全部

canvas绘图是在onDraw里触发的。而每次onDraw的时候,其实是重新绘制canvas数据的,也就是如果你什么都不画,canvas上就没有东西了。因此你只要在每次触发onDraw之后,把需要画的内容画出来即可。比如,假设人头的数据是bitmapHead,两种发型分别是bitmapStyle1, bitmapStyle 2,你就可以这样画(伪代码):

int currentType = 0;
onDraw(canvas) {
   canvas.draw(bitmapHead); // 这个是必定要画的
  switch(currentType) {
   case STYLE1:
      canvas.draw(bitmapStyle1);
   break;
   case STYLE2:
      canvas.draw(bitmapStyle2);
   break;
  }
}
追问
现在如果,我已经把bitmapStyle1绘制出来了,我又觉得不好看想换成bitmapStyle2怎么办?
追答
你在绘制前先设置currentType,然后invalidate一下view就可以触发重新绘制
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式