图元中元素的选择方法、装置、电子设备和存储介质与流程

文档序号:26138835发布日期:2021-08-03 14:22阅读:81来源:国知局
图元中元素的选择方法、装置、电子设备和存储介质与流程

本申请涉及数据处理技术领域,尤其涉及一种图元中元素的选择方法、装置、电子设备和存储介质。



背景技术:

在线浏览工程图纸时,工程图纸中的数据常以图片的形式进行展示,在图片中工程图纸中的信息是由合并的图元形式存在的。

在浏览工程图纸过程中,有时会需要对图元中的某一元素进行选中,并进行相应的操作(如高亮显示)。

相关技术中,在鼠标选择图元中的某一元素时,需要选择位置与元素的像素点坐标完全一致,才能正确选中,若未完全一致,有可能会被吸附到另一元素上,导致无法正确选择图元中的元素。



技术实现要素:

本申请提供了一种图元中元素的选择方法、装置、电子设备和存储介质,用以解决现有技术中,不能准确选择图元中元素的问题。

第一方面,本申请实施例提供了一种图元中元素的选择方法,包括:

获取鼠标在当前界面所在的第一位置信息,所述当前界面为浏览工程图纸时显示的界面;

获取与所述第一位置信息距离最近的目标图元标识;

获取与目标图元标识对应的第二位置信息;

根据所述第一位置信息和所述第二位置信息,确定距离所述鼠标最近的元素为待处理元素。

可选的,所述第一位置信息包括第一像素点坐标,所述获取与所述第一位置信息距离最近的目标图元标识,包括:

在所述第一像素点坐标预设范围内的像素点集合中,确定与所述第一像素点坐标最近的目标像素点;

获取与所述目标像素点的第一像素值对应的所述目标图元标识。

可选的,所述在所述第一像素点坐标预设范围内的像素点集合中,确定与所述第一像素点坐标最近的目标像素点,包括:

获取所述像素点集合中每个像素点坐标的像素值;

获取所述工程图纸的背景色的第二像素值;

在所述像素点集合中,滤除像素值为所述第二像素值的像素点坐标,得到像素点子集合;

将所述像素点子集合中,与所述第一像素点坐标距离最近的像素点,作为所述目标像素点。

可选的,所述获取与目标图元标识对应的第二位置信息,包括:

获取与所述目标图元标识对应的目标图元的图元信息;

从所述图元信息中,提取元素的顶点坐标值,将所述顶点坐标值作为所述第二位置信息。

可选的,所述第一位置信息包括所述鼠标在所述工程图纸中的第一坐标值,所述第二位置信息包括顶点坐标值;

所述根据所述第一位置信息和所述第二位置信息,确定距离所述鼠标最近的元素为待处理元素,包括:

确定所述顶点坐标值中每个元素的目标顶点坐标值;

根据所述目标顶点坐标值确定构成所述元素的线段;

计算所述第一坐标值到所述线段的最短距离值,将所述最短距离值中的最小值对应的元素,作为所述待处理元素。

可选的,所述根据所述第一位置信息和所述第二位置信息,确定距离所述鼠标最近的元素为待处理元素之后,还包括:

在所述目标像素点上生成吸附点;

将所述吸附点显示在所述待处理元素上。

可选的,所述获取鼠标在当前界面所在的第一位置信息之前,还包括:

获取每个图元的图元标识、顶点坐标值以及图元的像素值;

对每个所述顶点坐标值配置顶点编号,得到所述图元的顶点配置信息;

将所述图元标识、所述图元的像素值和所述顶点配置信息作为所述图元的图元信息;

根据所述图元信息进行渲染,以使所述工程图纸显示在所述当前界面。

可选的,所述吸附点的形状为任一几何图形。

第二方面,本申请实施例提供了一种图元中元素的选择装置,包括:

第一获取模块,用于获取鼠标在当前界面所在的第一位置信息,所述当前界面为浏览工程图纸时显示的界面;

第二获取模块,用于获取与所述第一位置信息距离最近的目标图元标识;

第三获取模块,用于获取与目标图元标识对应的第二位置信息;

确定模块,用于根据所述第一位置信息和所述第二位置信息,确定距离所述鼠标最近的元素为待处理元素。

第三方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;

所述存储器,用于存储计算机程序;

所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的图元中元素的选择方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的图元中元素的选择方法。

本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,通过获取鼠标在当前界面所在的第一位置信息,当前界面为浏览工程图纸时显示的界面;获取与第一位置信息距离最近的目标图元标识;获取与目标图元标识对应的第二位置信息;根据第一位置信息和第二位置信息,确定距离鼠标最近的元素为待处理元素。如此,用户在线浏览工程图纸,想要选择某一元素时,可以将鼠标置于该元素附近,只需要根据鼠标所在的第一位置信息,找到与其最近的图元,并进一步确定图元中与鼠标最近的元素,从而确定待处理元素,即使鼠标未准确的点击在元素包括的像素点坐标上,也能够依据鼠标与元素间的距离,确定用户想要选择的待处理元素,提高了元素选择的准确性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为为本申请一实施例提供的图元中元素的选择方法的流程图;

图2为本申请一实施例提供的图元中元素的选择方法的第一像素点预设范围的示意图;

图3为本申请一实施例提供的图元中元素的选择方法中图元坐标的示意图;

图4为本申请一实施例提供的图元中元素的选择装置的结构图;

图5为本申请一实施例提供的电子设备的结构图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

在对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。

3d绘图协议(webgraphicslibrary,简称webgl):webgl利用底层的图形硬件加速功能进行的图形渲染,是通过统一的、标准的、跨平台的opengl接口实现的。webgl使用顶点缓冲区对象(vbo)记录图元信息。

图元中包括至少一个元素,元素包括:绘制在图纸上的点、线、面中的任意一项或多项。

像素是指由图像的小方格组成的,这些小方格都有一个明确的位置和被分配的颜色值。像素明确的位置为像素坐标值,被分配的颜色值为像素值。

根据本申请一实施例提供了一种图元中元素的选择方法,图1是根据本申请实施例的一种可选的图元中元素的选择方法的流程示意图,如图1所示,该方法可以应用于任一电子设备中,如应用于终端中,该方法的流程可以包括以下步骤:

步骤101、获取鼠标在当前界面所在的第一位置信息,当前界面为浏览工程图纸时显示的界面。

一些实施例中,用户通过在线打开工程图纸后,终端将该工程图纸显示在界面上,以供用户浏览。用户在线浏览工程图纸,并想要选择某一元素时,通常会将鼠标置于该元素附近,终端便可以获取到该鼠标在当前界面所在的第一位置信息。

示例性的,该工程图纸可以但不限于为二维图纸,且二维图纸中可以包括二维直角坐标系,通过该二维直角坐标系确定二维图纸中鼠标所在的第一位置信息,其中,第一位置信息包括鼠标点击位置对应二维图纸中的一个像素点坐标。一般情况下,二维图纸中的二维直角坐标系设置为不可见状态。

具体的,对工程图纸进行在线预览时,二维直角坐标系包括工程图纸在显示界面的图像坐标系以及在工程图纸中的实际坐标系。其中,显示界面的图像坐标系中时,由于图像具有相应的分辨率,以鼠标所在位置在横纵方向上的像素点个数作为其像素点坐标(即第一位置信息)。

其中,二维图纸可以为多种格式的图纸,例如,文件扩展名为.dwg或.sat的计算机辅助设计(computeraideddesign,简称cad)图纸,本申请的二维图纸的文件格式并不用于限制本申请的保护范围。

步骤102、获取与第一位置信息距离最近的目标图元标识。

一些实施例中,在获得鼠标的第一位置信息后,便可以基于该第一位置信息确定距离鼠标最近的目标图元标识。

示例性的,第一位置信息为鼠标在当前界面所在位置的第一像素点坐标,在确定与第一位置信息距离最近的目标图元标识时,具体包括:

在第一像素点坐标预设范围内的像素点集合中,确定与第一像素点坐标最近的目标像素点;获取与目标像素点的第一像素值对应的目标图元标识。

具体的,鼠标对应的第一像素点坐标的预设范围内包括多个像素点坐标,在该多个像素点坐标中,包括至少一个像素值,由于,工程图纸在预览时,图纸具有一定的背景色,因此,先从该像素点集合中滤除像素值为背景色的像素点坐标,在得到的子像素点集合中,确定目标图元标识。

其中,上述的预设范围可以根据实际情况进行设置,此处不做限定,示例性的,预设范围可以为n*n个像素形成的像素区,并且第一像素点在所述像素区的中心,其中,n为大于1的整数。

具体的,在第一像素点坐标预设范围内的像素点集合中,确定与第一像素点坐标最近的目标像素点坐标,包括:获取像素点集合中每个像素点坐标的像素值;获取工程图纸的背景色的第二像素值;在像素点集合中,滤除像素值为第二像素值的像素点坐标,得到像素点子集合;将像素点子集合中,与第一像素点坐标距离最近的像素点,作为目标像素点。

示例性的,在像素点集合中滤除像素值为背景色的第二像素值的像素点后,在得到的像素点子集合中,包括至少一个像素点,通过计算第一像素点坐标,与像素点子集合中每个像素点坐标之间间隔的像素的数量,将间隔像素最少的像素点作为与第一像素点坐标最近的目标像素点。

参照图2,在过滤背景色后的像素点后,第一像素点预设范围为5*5各像素构成的像素区,图2中粗线条框内的区域表示该像素区,第一像素点为图2中像素区的中心位置(即图2中填充x的像素点)。在图2中,像素区内像素点子集合中共包括3个像素点,分别为第一像素点左侧的a像素点,以及第一像素点右上方的b像素点和c像素点,通过图2可知,a像素点与第一像素点的间隔1个像素点,而b像素点和c像素点与第一像素点的间隔均大于1个像素点,因此,确定a像素点为目标像素点。

需要说明的是,在图2中一个方格表示一个像素点,填充为黑色的方格表示元素线条在图像中占用的像素点,填充为白色的方格表示该方格处未设置元素的像素点。

可以理解的是,在确定的目标像素点为两个及以上时,不执行后续的操作,终端生成提示信息,显示在当前页面,提示用户移动鼠标位置,以重新确定待处理元素。

进一步的,在确定目标像素点坐标后,由于不同的图元设置的颜色可能会不同,并且,对于工程图纸中的每个图元的图元信息中包括图元的标识、顶点坐标值以及该元素的像素值,并对应存储。因此,在得到目标像素点坐标的第一像素值后,便可以将与目标像素点坐标的第一像素值相同的、元素像素值对应的图元标识,作为目标图元标识。

其中,由于在线浏览的工程图纸为矢量图,因此各元素皆为线段格式,通过每个线段由首尾两个坐标值表示。例如在对一矩形渲染时,往往每个线段的端点均需要调用两次才能够完成渲染。

为了避免在渲染元素时的重复调用,在一个可选实施例中,通过获取每个图元的图元标识、顶点坐标值以及图元的像素值;对每个顶点坐标值配置顶点编号,得到图元的顶点配置信息;将图元标识、图元的像素值和顶点配置信息作为图元的图元信息;根据图元信息进行渲染,以使工程图纸显示在当前界面。

其中,图元的顶点坐标值和像素值均为在构建图元时生成的,图元标识可以为预先对图元配置的,其中,不同的图元图元标识不同。

示例性的,参照图3,由a、b、c、d四条线段构成的图元,其中,图元的顶点坐标分别为(0,1)、(0,2)、(2,1)、(2,2),对应的(0,1)的顶点坐标值配置的顶点编号为1,(0,2)的顶点坐标值配置的顶点编号为2,(2,2)的顶点坐标值配置的顶点编号为3,(2,1)的顶点坐标值配置的顶点编号为4,从而得到该图元的顶点配置信息为(1,2,3,4)。

在对图元进行渲染时,只需要调用顶点配置信息中顶点编号对应的顶点坐标值即可,即,对图元中的顶点坐标值仅通过一次调用,便可以对图元中的元素进行渲染,避免了对元素顶点坐标值的重复调用,提高了渲染效率。

其中,图元标识可以包括数字序号、字母、或者由数字和字母构成的字符串等。例如,序号可以为:1、2、3、4、5、6......,字母可以为:a、b、c、d、e、f......,由数字和字母构成的字符串可以为:a1、b2、c3......。

步骤103、获取与目标图元标识对应的第二位置信息。

基于上述相关实施例,图元信息中包括图元标识、顶点坐标值以及该元素的像素值,在确定目标图元标识后,便可以根据该目标图元标识,确定图元信息中包括的顶点坐标值,从而,得到第二位置信息。

具体的,获取与目标图元标识对应的第二位置信息,包括:获取与目标图元标识对应的目标图元的图元信息;从图元信息中,提取元素的顶点坐标值,将顶点坐标值作为第二位置信息。

其中,顶点坐标值可以在图元渲染后,从调用的元素坐标值中提取得到。

步骤104、根据第一位置信息和第二位置信息,确定距离鼠标最近的元素为待处理元素。

一些实施例中,第一位置信息还包括鼠标在工程图纸中的第一坐标值,其中,第一坐标值为鼠标在工程图纸中对应的坐标值,具体可以通过第一像素点坐标进行转化得到。

其中,将像素点坐标转化为图纸中的坐标的具体方式可以通过以下方式得到,具体为:工程图纸在线浏览时往往将工程图纸中的图元映射到当前界面的图像上,在终端中,存储有工程图纸与当前界面的图像的映射关系,在确定像素点坐标后,便可以根据该映射关系,确定该像素点在工程图纸中的坐标值。

可以理解的是,将像素点坐标转化为图纸中的坐标的具体方式,也可以参照相关技术的其他方式,此处不再赘述。

进一步的,根据第一位置信息和第二位置信息,确定距离鼠标最近的元素为待处理元素,包括:

确定顶点坐标值中每个元素的目标顶点坐标值;根据目标顶点坐标值确定构成元素的线段;计算第一坐标值到线段的最短距离值,将最短距离值中的最小值对应的元素,作为待处理元素。

一些实施例中,图元中的每个元素均为矢量,因此,对于每个元素来讲,均是以线段形式显示在当前界面中。基于此,在获取到第二位置信息(即元素的顶点坐标值)后,便可以针对每个元素的顶点坐标值确定构成该元素的线段。进而,计算鼠标在工程图纸中的第一坐标值到每个线段的最短距离值,并将最短距离值中的最小值对应的元素作为待处理元素,从而对该待处理元素进行相应的处理(如,高亮显示)。

其中,在顶点坐标值中确定每个元素的目标顶点坐标值,即为从图元的所有顶点坐标值中提取属于元素的顶点坐标值的过程。具体的,由于在图元信息存储时,每个元素的两个顶点坐标值是对应存储的,即确定了其中一个顶点坐标值后,另一个顶点坐标值便可以根据对应关系存储。

其中,上述的最短距离值可以第一坐标值到线段顶点坐标的距离值,或,第一坐标值到线段的垂直距离值。

可以理解的是,上述确定待处理元素的过程,可以通过终端的cpu实现,通过cpu对相关的数据进行上述处理,确定待处理元素。

在一个可选实施例中,在确定待处理元素后,还包括:在目标像素点坐标上生成吸附点;将吸附点显示在待处理元素上。

一些实施例中,在终端确定待处理元素后,为便于用户浏览并知晓已确定待处理元素,可以在待处理元素上生成吸附点,并进一步显示该吸附点。具体的,通过生成吸附点,用户在浏览工程图纸时,可以通过显示的吸附点,及时了解到所选择的元素是否为实际想要选择的元素,以便于及时调整。

在一个可选实施例中,吸附点的形状可以根据实际情况进行设置,此处不做限定。示例性的,该吸附点为任一几何图形,例如,三角形或圆形。

本申请中,用户在线浏览工程图纸,想要选择某一元素时,可以将鼠标置于该元素附近,只需要根据鼠标所在的第一位置信息,找到与其最近的图元,并进一步确定图元中与鼠标最近的元素,从而确定待处理元素,即使鼠标未准确的点击在元素包括的像素点坐标上,也能够依据鼠标与元素间的距离,确定用户想要选择的待处理元素,提高了元素选择的准确性。并且,通过生成吸附点,用户在浏览工程图纸时,可以通过显示的吸附点,及时了解到所选择的元素是否为实际想要选择的元素,以便于及时调整。

进一步的,在对上述吸附点进行显示点后,可以对该吸附点进行高亮显示,也可以对吸附点进行端点之间的距离测量等其他操作。

可以理解的是,对吸附点进行渲染显示的过程可以通过终端的gpu实现。

基于同一构思,本申请实施例中提供了一种图元中元素的选择装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图4所示,该装置主要包括:

第一获取模块401,用于获取鼠标在当前界面所在的第一位置信息,当前界面为浏览工程图纸时显示的界面;

第二获取模块402,用于获取与第一位置信息距离最近的目标图元标识;

第三获取模块403,用于获取与目标图元标识对应的第二位置信息;

确定模块404,用于根据第一位置信息和第二位置信息,确定距离鼠标最近的元素为待处理元素。

可选的,所述第一位置信息包括第一像素点坐标,第二获取模块,包括:

第一确定单元,用于在所述第一像素点坐标预设范围内的像素点集合中,确定与所述第一像素点坐标最近的目标像素点;

第一获取单元,用于获取与目标像素点的第一像素值对应的目标图元标识。

可选的,第一确定单元,包括:

第二获取单元,用于获取像素点集合中每个像素点坐标的像素值;

第三获取单元,用于获取工程图纸的背景色的第二像素值;

过滤单元,用于在像素点集合中,滤除像素值为第二像素值的像素点坐标,得到像素点子集合;

第二确定单元,用于将像素点子集合中,与第一像素点坐标距离最近的像素点,作为目标像素点。

可选的,第三获取模块,包括:

第四获取单元,用于获取与目标图元标识对应的目标图元的图元信息;

提取单元,用于从图元信息中,提取元素的顶点坐标值,将顶点坐标值作为第二位置信息。

可选的,第一位置信息包括鼠标在工程图纸中的第一坐标值,第二位置信息包括顶点坐标值;

确定模块,包括:

第三确定单元,用于确定顶点坐标值中每个元素的目标顶点坐标值;

第四确定单元,用于根据目标顶点坐标值确定构成元素的线段;

计算单元,用于计算第一坐标值到线段的最短距离值,将最短距离值中的最小值对应的元素,作为待处理元素。

可选的,还包括:

生成单元,用于在目标像素点上生成吸附点;

显示单元,用于将吸附点显示在待处理元素上。

可选的,吸附点的形状为任一几何图形。

可选的,还包括:

第五获取单元,用于获取每个图元的图元标识、顶点坐标值以及图元的像素值;

配置单元,用于对每个所述顶点坐标值配置顶点编号,得到所述图元的顶点配置信息;

第五确定单元,用于将所述图元标识、所述图元的像素值和所述顶点配置信息作为所述图元的图元信息;

渲染单元,用于根据所述图元信息进行渲染,以使所述工程图纸显示在所述当前界面。

基于同一构思,本申请实施例中还提供了一种电子设备,如图5所示,该电子设备主要包括:处理器501、存储器502和通信总线503,其中,处理器501和存储器502通过通信总线503完成相互间的通信。其中,存储器502中存储有可被至处理器501执行的程序,处理器501执行存储器502中存储的程序,实现如下步骤:

获取鼠标在当前界面所在的第一位置信息,当前界面为浏览工程图纸时显示的界面;

获取与第一位置信息距离最近的目标图元标识;

获取与目标图元标识对应的第二位置信息;

根据第一位置信息和第二位置信息,确定距离鼠标最近的元素为待处理元素。

上述电子设备中提到的通信总线503可以时外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线503可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器502可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器501的存储装置。

上述的处理器501可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等,还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的图元中元素的选择方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如dvd)或者半导体介质(例如固态硬盘)等。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1