图片标注编辑平台搭建系列教程(9)——支持撤销的画线行为

背景

编辑器中的绘制,要想做的足够好,是需要支持撤销形点的,因为作业员在绘制过程中,可能会点错位置,需要及时撤销,否则影响编辑效率。撤销我们知道,需要通过ID编辑器的history的undo来实现,那么意味着,每一次插入形点,都需要插入一版Graph。如何在兼顾渲染的情况下,保证每一版本的graph中的几何正确,以支持撤销?这篇文章提供一种实现思路。

渲染

这边简单说一下Sketchlayer(草稿图)的架构,就是选中的几何,我们用一个草稿图来单独渲染,以提高编辑效率。我们会隐藏原图层中的该要素,将其放入草稿图,高亮渲染,同时在鼠标移动过程中,高频更新几何的拖动点/绘制点,结束绘制后,清空草稿图,更新graph中该几何,触发原图层的重新渲染。

行为

绘制线是一个很基础的行为(behavior)。其核心逻辑在这个行为中实现。
首先,在behavior的add方法中,我们监听三个鼠标事件。
mouse:down:插入形点
mouse:move:更新最后一个形点
mouse:dblclick:结束绘制

mouseDown

如果是首次点击,我们会创建一条线way,调用history.perform,推入一版graph中。这条线的两个坐标࿰

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
QGIS是一款功能强大的开源地理信息系统软件,它提供了丰富的矢量化编辑工具,可以方便地对地图数据进行编辑和处理。下面介绍一下在QGIS中如何进行线矢量化编辑。 1. 打开需要编辑的矢量图层,进入编辑模式。可以通过点击图层面板上的铅笔按钮或者使用快捷键Ctrl+E来进入编辑模式。 2. 选择要编辑的图层,点击编辑工具栏中的“添加线要素”按钮,或者使用快捷键Ctrl+L来添加线要素。 3. 在地图上点击鼠标左键,开始绘制线要素。如果需要绘制曲线,可以使用鼠标右键单击来添加控制点,然后拖动控制点以调整曲线形状。 4. 绘制完成后,可以使用编辑工具栏中的“选择要素”按钮或者使用快捷键Ctrl+1来选择已经绘制的线要素。 5. 选中线要素后,可以使用编辑工具栏中的“移动要素”按钮或者使用快捷键“M”来移动线要素的位置。 6. 如果需要编辑线要素的节点,可以使用编辑工具栏中的“节点编辑”按钮或者使用快捷键Ctrl+T来进入节点编辑模式,然后对节点进行移动、添加、删除等操作。 7. 编辑完成后,点击编辑工具栏中的“保存编辑”按钮或者使用快捷键Ctrl+S来保存编辑结果。 以上就是在QGIS中进行线矢量化编辑的基本步骤。在实际应用中,还可以通过设置符号样式、调整线宽、添加标注等方式来美化线要素,使其更加精美。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HouGISer

HouGiser需要你的鼓励~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值