android 上用canvas绘图之后,我想清除怎么办 50
比如我有两张图片,一张是另一张是,现在我想通过canvas实现这么一个过程:在人的图片上绘制出第二个图片,也就是给人添加发型,那么问题来了,我这里有好几种发型,当我添加了...
比如我有两张图片,一张是
另一张是
,现在我想通过canvas实现这么一个过程:在人的图片上绘制出第二个图片,也就是给人添加发型,那么问题来了,我这里有好几种发型,当我添加了其中一种之后我觉得不合适,我现在想更换怎么办,或者我觉得不添加更好,想删除发型怎么办?也就是说怎么清楚canvas已经绘制出的图形,请各位指点指点,求帮忙。 展开
另一张是
,现在我想通过canvas实现这么一个过程:在人的图片上绘制出第二个图片,也就是给人添加发型,那么问题来了,我这里有好几种发型,当我添加了其中一种之后我觉得不合适,我现在想更换怎么办,或者我觉得不添加更好,想删除发型怎么办?也就是说怎么清楚canvas已经绘制出的图形,请各位指点指点,求帮忙。 展开
展开全部
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就可以触发重新绘制
启帆信息
2024-11-22 广告
2024-11-22 广告
作为启帆信息科技股份有限公司的工作人员,对于Omniverse View有一定了解。Omniverse View是NVIDIA Omniverse平台中的一个强大工具,它易于导航且功能丰富,可以支持任何技能水平的专业人员展示和审查3D设计项...
点击进入详情页
本回答由启帆信息提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |