如何擦除画布上的绘图且保留画布上的图案呢?

纯净水o 2015-09-09 08:55:20
我的画布上是一个下棋的棋盘,因为棋子需要移动 每次移动都需要擦除原位置的棋子,我想擦除原位置棋子的同时棋盘不被擦除


如何实现呢?
...全文
176 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
一袭白衣 2015-09-09
  • 打赏
  • 举报
回复
关于擦除什么的, 看看这个帖子 很早就提问了的 http://bbs.csdn.net/topics/391042330
一袭白衣 2015-09-09
  • 打赏
  • 举报
回复
重绘 invailded() 你可以决定哪些是需要重绘的,哪些是不需要的, 哪些不在onDraw()的时候画的,就是你要擦除的, 再看你的需求,其实你并不是要擦除,而是改变棋子在棋盘上的位置。 所以你可以把棋盘定义为background, 然后棋子在onDraw内去画, 改变棋子的位置,也就是改变棋子在canvas上的坐标, 如下就可以实现了 canvas.save() canvas.translate(x,y)//假设棋子的左上角要画在 (x,y这个点上) canvas.draw(棋子的drawable) canvas.restore() 坐标(x,y)肯定不是在onDraw()内改变的,应该是在你自己的事件内触发, 定义为全局的变量
zxb3121999 2015-09-09
  • 打赏
  • 举报
回复
如果是用surfaceview 画的话,他有一个lock方法好像可以实现,如果是其它view,不清楚了
ClawDraw Skill 是一个面向智能体系统的绘图能力模块,核心目标是让 AI 代理能够在 ClawDraw 无限多人协作画布上进行算法艺术创作。它通过预设的绘制逻辑与规则,使智能体能够将抽象的算法结构转化为可视化图形,从而实现自动化、程序化的艺术表达。 在现代智能体架构中,Skill 通常作为能力扩展单元存在,用于赋予代理执行特定任务的能力,例如调用工具、操作外部系统或完成结构化动作。ClawDraw Skill 专注于视觉生成领域,它定义了绘图规则、执行流程以及触发条件,使 AI 在接收到相关指令时能够自动完成图形绘制。相比单纯生成图片文件,这种方式强调“在真实画布环境中创作”,具备更强的互动性和实时性。 该项目主要基于 JavaScript / TypeScript 构建,包含清晰的模块结构与配置体系,方便开发者进行本地测试、逻辑调整与算法优化。开发者可以根据需求扩展绘制算法,例如生成几何图案、分形结构、随机艺术图形,甚至构建具有动态演化效果的视觉表现形式。 ClawDraw Skill 的价值体现在三个方面: 第一,它将 AI 算法能力与视觉表达结合,拓展了智能体的创作边界; 第二,它支持多人协作画布场景,使生成结果具备社交与互动属性; 第三,它提供可扩展的能力框架,便于二次开发与定制化设计。 整体而言,ClawDraw Skill 不只是一个绘图工具,而是一个探索 AI 自动创作与实时交互结合的实践案例。它展示了如何通过结构化技能设计,让智能体在复杂环境中执行创造性任务,为算法艺术与多代理系统结合提供了有价值的思路。

80,492

社区成员

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

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