一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于InkCanvas的选框调整方法和相关设备与流程

2021-10-24 07:39:00 来源:中国专利 TAG:调整 方法 相关 设备 数据处理

基于inkcanvas的选框调整方法和相关设备
技术领域
1.本发明涉及数据处理技术领域,特别涉及一种基于inkcanvas的选框调整方法和相关设备。


背景技术:

2.在windows系统wpf(windows presentation foundation,windows呈现基础)桌面应用程序中有个用于开发电子白板软件的墨迹画板(inkcanvas)控件,当选中墨迹笔画时,会显示一个选中框,该选中框是由.net framework底层内部创建和使用,只具有移动和改变墨迹笔画大小的功能,外部不能更改其形状、颜色等外观,也不能在选中框上扩展其他功能,如对墨迹笔画进行旋转、删除、克隆复制等。因此当前的基于inkcanvas的画板软件仍然存在不足。


技术实现要素:

3.本发明要解决的技术问题在于目前基于inkcanvas的选框调整无法实现形状、颜色外观等参数的调整,针对现有技术的不足,提供一种基于inkcanvas的选框调整方法。
4.为了解决上述技术问题,本发明所采用的技术方案如下:
5.一种基于inkcanvas的选框调整方法,所述方法包括:
6.对显示界面进行监听;
7.当监听到选择事件时,基于预设的反射机制,获取所述选择事件对应的初选框的属性值;
8.根据所述属性值,创建与所述选择事件对应的自定义框并显示;
9.将预设的调节装饰器与所述自定义框绑定,并当监听到针对所述自定义框的操作事件时,基于所述调节装饰器,执行所述操作事件对应的操作。
10.所述基于inkcanvas的选框调整方法,其中,根据所述属性值,创建与所述选择事件对应的自定义框并显示具体包括:
11.根据所述属性值和预设的显示参数,创建与所述选择事件对应的自定义框;
12.加载并显示所述自定义框。
13.所述基于inkcanvas的选框调整方法,其中,所述调节装饰器包括笔画装饰器,所述操作事件包括移动事件,所述移动事件包括按压事件和拖动事件;所述基于所述调节装饰器,执行所述操作事件对应的操作,具体包括:
14.当所述调节装饰器为所述笔画装饰器且所述操作事件为所述移动事件时,将所述按压事件对应的位置坐标作为起点坐标,并判断所述起点坐标是否为所述调节装饰器对应的固定坐标;
15.若是,则根据所述拖动事件对应的终点坐标,计算第一选区与第二选区之间的偏差参数,其中,所述第一选区为所述按压事件对应的自定义框的选区,所述第二选区为所述拖动事件发生后自定义框的选区;
16.根据所述偏差参数,确定所述第一选区中的第一像素点对应的第二像素点以及所述第二像素点对应的像素值,得到第二选区对应的图像。
17.所述基于inkcanvas的选框调整方法,其中,所述偏差参数包括偏差值;所述根据所述偏差参数,确定所述第一选区中的第一像素点对应的第二像素点以及所述第二像素点对应的像素值,得到第二选区对应的图像具体包括:
18.计算所述第一选区和所述第二选区的长度差值,并将所述长度差值作为所述偏差值;
19.根据所述偏差值,确定所述第一像素点对应的第二像素点的位置坐标,以及所述第二像素点对应的像素值,得到所述第二选区对应的图像。
20.所述基于inkcanvas的选框调整方法,其中,所述调节装饰器包括菜单装饰器,所述操作事件包括点击事件;所述基于所述调节装饰器,执行所述操作事件对应的操作具体包括:
21.当所述调节装饰器为所述菜单装饰器且监听到点击事件时,根据所述点击事件对应的点击坐标,确定所述菜单装饰器中与所述点击事件对应的点击对象;
22.根据所述点击对象,执行与所述点击事件对应的操作。
23.所述基于inkcanvas的选框调整方法,其中,所述点击对象包括置顶选项、翻转选项、镜像选项、克隆选项以及删除选项。
24.所述基于inkcanvas的选框调整方法,其中,所述当监听到选择事件时,基于预设的反射机制,获取所述选择事件对应的初选框的属性值之后还包括:
25.将所述初选框删除。
26.一种基于inkcanvas的选框调整装置,其中,具体包括:
27.监听模块,用于对显示界面进行监听;
28.获取模块,用于当监听到选择事件时,基于预设的反射机制,获取所述选择事件对应的初选框的属性值;
29.创建模块,用于根据所述属性值,创建与所述选择事件对应的自定义框并显示;
30.执行模块,用于将预设的调节装饰器与所述自定义框绑定,并当监听到针对所述自定义框的操作事件时,基于所述调节装饰器,执行所述操作事件对应的操作。
31.一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的基于inkcanvas的选框调整方法中的步骤。
32.一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
33.所述通信总线实现处理器和存储器之间的连接通信;
34.所述处理器执行所述计算机可读程序时实现如上任一所述的基于inkcanvas的选框调整方法中的步骤。
35.有益效果:与现有技术相比,本发明提供了一种基于inkcanvas的选框调整方法和相关设备,所述方法在对显示界面进行监听的过程中,一旦监听到用户选择界面上的某个区域的选择事件时,基于反射机制,获取原本与该选择事件对应的初选框的属性值。然后根据属性值生成一个自定义框并替代初选框。同时将预先设置的调节装饰器与自定义框绑
定,用户后续针对自定义框进行操作时,基于调节装饰器,执行相应的操作,从而扩展了原有的初选框的简陋的操作选择,提高了自定义框的功能性,且对整个软件的代码并未有过多的修改。
附图说明
36.图1为常规的inkcanvas的选框。
37.图2为本发明提供的基于inkcanvas的选框调整方法的流程图。
38.图3为本发明提供的基于inkcanvas的选框调整方法的自定义框。
39.图4为本发明提供的终端设备的结构原理图。
具体实施方式
40.本发明提供一种基于inkcanvas的选框调整方法和相关设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
41.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
42.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
43.发明人经过研究发现,在windows系统wpf(windows presentation foundation,windows呈现基础)桌面应用程序中有个用于开发电子白板软件的墨迹画板(inkcanvas)控件,当选中墨迹笔画时,会显示一个选中框,该选中框是由.net framework底层内部创建和使用,只具有移动和改变墨迹笔画大小的功能。
44.为了解决上述问题,在本发明实施例中,对显示界面进行监听;当监听到选择事件时,基于预设的反射机制,获取所述选择事件对应的初选框的属性值;根据所述属性值,创建与所述选择事件对应的自定义框并显示;将预设的调节装饰器与所述自定义框绑定,并当监听到针对所述自定义框的操作事件时,基于所述调节装饰器,执行所述操作事件对应的操作。
45.下面结合附图,通过对实施例的描述,对发明内容作进一步说明。如图1所述,在默认的inkcanvas上,选框只能进行移动以及大小的调整。如图2所示,本实施提供了一种基于inkcanvas的选框调整方法,所述方法可以包括以下步骤:
46.s10、对显示界面进行监听。
47.具体地,预先对显示界面进行监听,获取用户通过鼠标、触摸屏等输入设备输入的事件。
48.s20、当监听到选择事件时,基于预设的反射机制,获取所述选择事件对应的初选框的属性值。
49.具体地,当监听到选择事件,即用户对白板中的某一个区域的内容进行选择,应该会根据选择事件中选择起点的坐标等参数,生成与选择事件对应的初选框的属性值。后续根据这一属性值,生成与选择事件对应的初选框。当在生成初选框的过程中,基于反射机制,获取初选框的属性值。
50.发射机制是许多程序开发语言的特征,允许运行的程序对自身进行检查,因此通过反射机制的方式,可获取运行的程序中的多个内部属性。本实施例中,基于反射机制,获取画板中的装饰器的合集,装饰器的合集也被称为装饰层。初选框本身就是一个装饰器,因此基于反射机制,可以获得初选框的属性值。
51.s30、根据所述属性值,创建与所述选择事件对应的自定义框并显示。
52.具体地,本实施例中,属性值主要是指初选框的位置信息。以图1为例,初选框为矩形,该矩形的左上、左下等8个点为标记点,初选框的位置信息包括初选框中每一个标记点的位置坐标,即标记坐标。然后根据属性值,创建自定义选框。此外,属性值还可包括初选框的形状、颜色等参数的数值。在本实施例的第一种实现方式中,直接根据初选框的所有属性信息,创建自定义框,自定义框是外形看起来与初选框完全一致的选框。在本实施例的第二种实现方式中,预先设定若干个显示参数,显示参数包括自定义框的显示颜色、框线的线条的粗细、虚实等参数。根据初选框的属性值中的坐标位置以及预设的显示参数,创建自定义选框。如图3所示,最终创建的自定义框与初选框的颜色、框线的粗细以及虚实都不相同。
53.同时,为了避免在后续用户对自定义框进行操作时,初选框也会进行响应,造成响应的紊乱,在得到了初选框的属性值之后,将初选框从装饰层的装饰层的装饰器中删除。
54.s40、将预设的调节装饰器与所述自定义框绑定,并当监听到针对所述自定义框的操作事件时,基于所述调节装饰器,执行所述操作事件对应的操作。
55.具体地,得到自定义框之后,为了实现原有初选框无法实现的功能,将预设的调节装饰器与自定义框进行绑定。预先设置一个可视化集合,并在可视化集合中设置调节装饰器。在本实施例中,调节装饰器是一类装饰器的总称,主要用于与自定义框绑定后,对自定义框进行调节。而由于调节装饰器位于可视化集合中,因此在绑定后,调节装饰器也会在显示屏幕中显示出来。自定义框的调节包括大小调节、形状调节、内容调节等等。在本实施例中,选用的调节装饰器包括笔画装饰器和/或菜单装饰器。
56.笔画装饰器用于移动、旋转、改变笔画的颜色、粗细、笔画的边框等与已经选中的笔画有关的参数。菜单装饰器用于显示可执行的操作,例如显示删除、显示克隆等功能。在图3中,笔画装饰器与自定义框的标记点进行绑定。
57.基于笔画装饰器和/或菜单装饰器,对显示界面进行监听,以获取用户基于所述显示界面发送的操作事件。
58.在本实施例的第一种实现方式中,调节装饰器中仅包含笔画装饰器,监听的操作事件主要为移动事件。
59.移动事件由三部分组成,点击事件、拖动事件以及抬起事件。当监听到点击事件,
先确定点击事件对应的位置坐标,并将该位置坐标作为起点坐标。再判断起点坐标是否为调节装饰器对应的固定坐标相等。若是,则根据所述起点坐标,确定操作事件对应的操作对象。调节装饰器中的固定坐标调节装饰器与自定义框进行绑定位置坐标以及与操作选项绑定的位置坐标,包括自定义框的标记点、自定义框中的所有像素点以及在软件的操作界面上设定笔画颜色、粗细的选项对应的位置坐标。
60.当操作对象为自定义框的标记点时,意味着用户要进行放大或缩小。当操作对象为自定义框的旋转选项时,意味着用户要进行旋转操作。当操作对象为自定义框内部时,意味着用户要对自定义框中的所有内容进行移动。进一步地,本实施例中,还可以对自定义框中的内容进行变形,例如自定义框的内部为矩形,通过变形,可变为不规则的四边形。因此移动事件的结果不仅自定义框中的图像包括上下左右的移动、大小的缩放,还包括旋转、变形等。
61.因此在监听到拖动事件时,根据拖动事件中位置坐标的变化,计算拖动前和拖动后的偏移参数。本实施例中的偏移参数包括偏移值以及偏移比例。
62.以自定义框为矩形框为例,将拖动事件前的自定义框所对应的区域作为第一选区,将拖动事件后的自定义框对应的区域作为第二选区,计算第一选区与第二选区的长度差,然后根据预设的原点,根据长度差,计算第一选区中所有第一像素点对应的偏移坐标,偏移坐标即该第一像素点对应的第二像素点的坐标。针对第一选区中每一个第一像素点,根据该第一像素点对应的偏移坐标以及像素值,确定第二选区中与该第一像素点对应的第二像素点的像素值。计算第一选区与第二选区之间的偏移比值,根据原点以及偏移比值,计算第一选区中所有的第一像素点对应的比例坐标,针对第一选区中的每一个第一像素点,根据该第一像素点对应的比例坐标以及像素值,确定第二选区中与该第一像素点对应的第二像素点的像素值。
63.针对图像变形而言,根据第一选区的标定点的坐标以及第二选区的标定点的坐标计算仿射函数,为进行区分,将第一选区的标定点命名为第一标定点,第二选区的标定点为第二标定点,根据第一标定点和第二标定点的位置坐标,计算仿射函数。然后基于仿射函数,计算每一个第一像素点对应的第二像素点的位置坐标。然后根据第一像素点的像素值,确定第二像素点的像素值,得到第二选区对应的图像。
64.此外,当存在笔画装饰器时,还监听颜色选项、笔画粗细选项等选项,当监听到针对这些选项的点击事件时,根据点击事件对应的点击对象,例如颜色、粗细值,调整自定义选框中笔画的颜色以及粗细值。
65.在本实施例的第二种实现方式中,调节装饰器中仅包含菜单装饰器,监听的操作事件主要为移动事件。而点击事件仅包括点击事件和抬起事件。在显示自定义框时,因为调节装饰器是可视化集合中的一员,因此绑定后的菜单装饰器也会在界面上进行显示。根据点击事件确定点击坐标,再根据点击坐标确定点击对象,并执行点击对象对应的操作。
66.在本实施例中,点击对象包括置顶选项、翻转选项、镜像选项、克隆选项以及删除选项。
67.若点击对象为置顶选项,则创建置顶图层,然后将自定义框中的图像复制至置顶图层,并在初始图层,也就是图像本身在图层,中将该图像删除。
68.若点击对象为翻转选项,则根据自定义框对应的位置坐标,确定自定义框对应的
翻转对称轴。然后基于翻转对称轴,计算第一选区中的每一个第一像素点对应的第二像素点的位置坐标,并根据第一像素点的像素值,确定第二像素点的像素值,从而得到第二选区对应的图像。
69.若点击对象为镜像选项,则会弹出镜像菜单,镜像菜单中列有多个镜像对称轴,同时对显示屏幕进行监听,从而确定用户所选择的镜像对称轴中的目标对称轴。然后基于目标对称轴,确定与第一像素点对应的第二像素点的位置坐标以及像素值,从而得到第二选区对应的图像。本实施例中,镜像对称轴包括左右对称,上下对称以及径向对称等。
70.在本实施例的第三种实现方式中,调节装饰器包括笔画装饰器以及菜单装饰器。当监听到操作事件时,根据操作事件,确定所要执行的操作。由于此过程类似于第一种实现方式和第二种实现方式的结合,因此在此不再赘述。
71.基于上述基于inkcanvas的选框调整方法,本实施例提供了一种基于inkcanvas的选框调整装置,其中,所述基于inkcanvas的选框调整装置包括:
72.监听模块,用于对显示界面进行监听;
73.获取模块,用于当监听到选择事件时,基于预设的反射机制,获取所述选择事件对应的初选框的属性值;
74.创建模块,用于根据所述属性值,创建与所述选择事件对应的自定义框并显示;
75.执行模块,用于将预设的调节装饰器与所述自定义框绑定,并当监听到针对所述自定义框的操作事件时,基于所述调节装饰器,执行所述操作事件对应的操作。
76.其中,所述创建模块具体用于:
77.根据所述属性值和预设的显示参数,创建与所述选择事件对应的自定义框;
78.加载并显示所述自定义框。
79.其中,所述调节装饰器包括笔画装饰器,所述操作事件包括移动事件,所述移动事件包括按压事件和拖动事件;所述执行模块包括:
80.判断单元,用于当所述调节装饰器为所述笔画装饰器且所述操作事件为所述移动事件时,将所述按压事件对应的位置坐标作为起点坐标,并判断所述起点坐标是否为所述调节装饰器对应的固定坐标;
81.计算单元,用于若是,则根据所述拖动事件对应的终点坐标,计算第一选区与第二选区之间的偏差参数,其中,所述第一选区为所述按压事件对应的自定义框的选区,所述第二选区为所述拖动事件发生后自定义框的选区;
82.确定单元,用于根据所述偏差参数,确定所述第一选区中的第一像素点对应的第二像素点以及所述第二像素点对应的像素值,得到第二选区对应的图像。
83.其中,所述偏差参数包括偏差值;所述确定单元具体用于:
84.计算所述第一选区和所述第二选区的长度差值,并将所述长度差值作为所述偏差值;
85.根据所述偏差值,确定所述第一像素点对应的第二像素点的位置坐标,以及所述第二像素点对应的像素值,得到所述第二选区对应的图像。
86.其中,所述调节装饰器包括菜单装饰器,所述操作事件包括点击事件;所述执行单元具体用于:
87.当所述调节装饰器为所述菜单装饰器且监听到点击事件时,根据所述点击事件对
应的点击坐标,确定所述菜单装饰器中与所述点击事件对应的点击对象;
88.根据所述点击对象,执行与所述点击事件对应的操作。
89.其中,所述点击对象包括置顶选项、翻转选项、镜像选项、克隆选项以及删除选项。
90.其中,所述基于inkcanvas的选框调整装置还包括删除模块,所述删除模块具体用于:
91.将所述初选框删除。
92.基于上述基于inkcanvas的选框调整方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的基于inkcanvas的选框调整方法中的步骤。
93.基于上述基于inkcanvas的选框调整方法,本发明还提供了一种终端设备,如图4所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(communications interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
94.此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。
95.存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
96.存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态计算机可读存储介质。
97.此外,上述计算机可读存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
98.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜