by_fy 11 -23
- 使用双缓冲绘制,不会出现闪烁。
- 保存覆盖写入功能,添加选择文件夹的功能。
- 在已经进行的测试中,目前可以认为可以任意拖动窗口而不发生图形缺失。
- 可以批量选择图元,并用蓝色高亮突出选中的图元。
- 可以实现批量的平移、旋转、缩放功能,并且【保留图元涂色】。
- 旋转功能包含:旋转按钮和旋转中心,旋转中心可以拖动,以实现不同中心点的旋转。平移、缩放功能:会显示一个绿色的恰好能够框住批量选择图元的矩形框。
- 包含两种不同裁剪: 裁剪1: 保留截图外的图元。 裁剪2: 不保留裁剪外的图元。
- 选择图元的时候有高亮,可以清晰的看见是否选择了当前图形。
- 绘图的的时候图形可以伸缩(类似橡皮筋),直到按下特定按键才确认绘图,这可以实时监管绘图效果,并在绘图完成之前可以动态调整绘图内容。
- 绘图伸缩的时候,线条颜色处于棕色高亮状态,可以提醒使用者当前图元正在绘制,还没有确定下来。
- 除了一般的覆盖写入功能,本系统提供了直接写入功能,可以将上次的保存的图形直接合并到当前的绘图区域。
- 考虑到交点可能需要画出来,所以当存在交点并出现弹窗提示交点信息的时候,可以按下确认键来绘制交点,当然您也可以选择右上角的【X取消】按钮,从而不会绘制交点。
- 考虑到垂线的垂足可能在线段的延长线上,这种情况下,会利用虚线延长线段到垂足部分。
- 保存的时候除了保存数据结构用于下次写入以外,还会将整个界面通过图像保存,并以png格式存储,可以概览上次保存的图形。(ps:所有存储结果保存在【Release/图元保存结果】中。) ####################################################
- 【直线绘制】: 点击直线绘制,通过按住左键,然后拖动的方式动态绘图。松开左键,即完成作图。
- 【矩形绘制】: 点击矩形绘制,通过按住左键,然后拖动的方式动态绘图。松开左键,即完成作图。
- 【圆绘制】: 点击圆绘制,通过按住左键,然后拖动的方式动态绘图。松开左键,即完成作图。
- 【曲线绘制】 用左键点出起点和终点。然后移动鼠标,可以实现橡皮筋的动态效果,再次点击左键即完成作图。
- 【多义线的绘制】 左键点击一个点,然后拖动即可以绘制一条线段,然后左键再点击下一个点,然后拖动即可以绘制一条线段。 【如果您不想绘制了,略微移动一下鼠标,然后点击右键即可】
6.【选择】。 【如果想进入选择状态需要点击鼠标右键一次,点击鼠标右键的意义是退出绘画模式】 如果没有选择过,点击‘’选择‘’,进入选择状态。再次点击‘’选择‘’,进入“不选择状态”。 移动到图元,点击线或者圆形的时候会出现红色高光,最多选择两个图形。如果点击一个图形两次,则取消高光和选择状态。
- 【求交】: 选择圆形 或者 线段,可以求出交点。点击【确定】可以画出交点,点击【关闭】则不画出交点。 如果没有交点或者选择的图元中有不是圆形或者线段的情况,会提示没有交点。
8.【做垂线】: 要求先选择一条直线,之后点击垂线按钮,再使用鼠标左键点出点的位置,即可以做出虚线垂线。如果垂足在选择线段外,会用蓝色虚线延长线段。
9.求圆心: 要求选择圆形,否则会提示没有选择圆形。点击【确定】可以画出交点,点击【关闭】则不画出交点。
-
保存,点击保存,将当前绘制的图形作为位图保存到一个相对路径【实验图像保存\实验2.png】。 然后将已经绘制的图元的参数保存到对应的.txt文档中。如我的直线.txt(保存起点和终点),我的圆形.txt(保存圆心和半径)等等。
-
直接写入,点击直接写入按钮。即可将上次保存的图形显示到当前界面,并且将其数据结构也添加到当前内存中。
-
覆盖写入,点击覆盖写入按钮。即可将上次保存的图形显示到覆盖界面,清除内存中的其他图元数据结构,并且将保存的图元的数据结构保存到当前内存中。
-
所有存储结果保存在【Release/图元保存结果】中。
·····图元变换功能模块。
14 【批量选中】:【一定要先单击右键!!!!】,退出模式单击选中和绘图模式。然后可以进入批量选择模式,选择的方式是画选择矩形。如果该矩形包含某个最小外接矩形的中心,那么就能够选中它。【注意,批量选择功能和单击选中的功能不互通】
-
【旋转】: 批量选中后,拖动旋转按钮,即可旋转。 【移动旋转中心】: 批量选中后,拖动旋转中心,即可。
-
【平移】: 批量选中后,拖动绿色选择矩阵即可。
-
【缩放】: 批量选中后,【左右】拖动绿色旋转矩阵即可。(注意实现逻辑是通过左右拖动来实现的,竖直上下拖动横坐标没改变所以不会缩放)
-
【截图】: 点击截图1或者截图2按钮: 裁剪1: 保留截图外的图元。 裁剪2: 不保留裁剪外的图元。