CN115731319A - 图形绘制方法、装置、设备及存储介质 - Google Patents
图形绘制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115731319A CN115731319A CN202211573813.0A CN202211573813A CN115731319A CN 115731319 A CN115731319 A CN 115731319A CN 202211573813 A CN202211573813 A CN 202211573813A CN 115731319 A CN115731319 A CN 115731319A
- Authority
- CN
- China
- Prior art keywords
- graph
- drawn
- objects
- target
- composition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
本公开涉及一种图形绘制方法、装置、设备及存储介质。该方法包括:响应于对目标画布的绘制操作,获取待绘制的目标图形对应的组成对象列表以及组成对象列表中不同组成对象之间的依赖关系;基于组成对象列表和不同组成对象之间的依赖关系,生成待绘制的目标图形对应的待绘制数据;基于待绘制数据在目标画布上进行图形绘制,生成绘制好的目标图形。由此,当绘制多种图形时,确定不同图形对应的组成对象并生成组成对象列表,将组成对象列表与依赖关系转换为待绘制数据之后就可以进行图形绘制,适应于绘制多种不同的图形,提高了图形绘制过程的灵活性,并且,稿绘制过程简单可以进行高频率在线绘制,保证了图形的绘制效果。
Description
技术领域
本公开涉及图形绘制技术领域,尤其涉及一种图形绘制方法、装置、设备及存储介质。
背景技术
随着信息技术的发展,在诸如课堂教育、在线教育、广告推广等很多场景下,为了实现用户之间的互动,用户可以利用图形绘制工具绘制不同类型的图形,使得其他用户在观看到图形之后,提高对知识点的掌握程度或者提高对产品的了解程度。
然而,利用目前的图形绘制工具提供的图形绘制方法,容易出现卡顿问题并且图形绘制的灵活性较差,最终影响了用户之间的互动效果。
发明内容
为了解决上述技术问题,本公开提供了一种图形绘制方法、装置、设备及存储介质。
第一方面,本公开提供了一种图形绘制方法,该方法包括:
响应于对目标画布的绘制操作,获取待绘制的目标图形对应的组成对象列表以及所述组成对象列表中不同组成对象之间的依赖关系;
基于所述组成对象列表和所述不同组成对象之间的依赖关系,生成所述待绘制的目标图形对应的待绘制数据;
基于所述待绘制数据在所述目标画布上进行图形绘制,生成绘制好的目标图形。
第二方面,本公开提供了一种图形绘制装置,该装置包括:
获取模块,用于响应于对目标画布的绘制操作,获取待绘制的目标图形对应的组成对象列表以及所述组成对象列表中不同组成对象之间的依赖关系;
生成模块,用于基于所述组成对象列表和所述不同组成对象之间的依赖关系,生成所述待绘制的目标图形对应的待绘制数据;
绘制模块,用于基于所述待绘制数据在所述目标画布上进行图形绘制,生成绘制好的目标图形。
第三方面,本公开实施例还提供了一种电子设备,该设备包括:
处理器;
存储器,用于存储可执行指令;
其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现上述第一方面所提供的方法。
第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现上述第一方面所提供的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例的一种图形绘制方法、装置、设备及存储介质,响应于对目标画布的绘制操作,获取待绘制的目标图形对应的组成对象列表以及组成对象列表中不同组成对象之间的依赖关系;基于组成对象列表和不同组成对象之间的依赖关系,生成待绘制的目标图形对应的待绘制数据;基于待绘制数据在目标画布上进行图形绘制,生成绘制好的目标图形。通过上述方式,当绘制多种图形时,只需要确定不同图形对应的组成对象并生成组成对象列表,将组成对象列表与不同组成对象之间的依赖关系转换为待绘制数据之后就可以进行图形绘制,可以适应于绘制多种不同的图形,提高了图形绘制过程的灵活性,并且,上述绘制过程简单能够进行高频率在线绘制,保证了图形的绘制效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种图形绘制方法的流程示意图;
图2为本公开实施例提供的动态的三角函数图形的示意图;
图3为本公开实施例提供的凸透镜折射模拟图;
图4为本公开实施例提供的另一种图形绘制方法的流程示意图;
图5为本公开实施例提供的抽象语法树的示意图;
图6为本公开实施例提供的又一种图形绘制方法的流程示意图;
图7为本公开实施例提供的一种图形绘制系统的系统架构图;
图8为本公开实施例提供的一种图形绘制装置的结构示意图;
图9为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
目前的图形绘制工具很少,且多为单机版本的绘制工具。利用目前的图形绘制工具进行图形绘制时,绘制效率很低容易出现卡顿问题,并且只能绘制静态图像而不能通过调整参数的方式展示图形绘制的动态效果。
近年来,出现了在线绘制工具,例如,出现了基于网页视图(WebView)的在线绘制工具,实现了在线图形绘制方式。但是,目前利用在线绘制工具解析图形的过程需要占用很长的时间,导致在线绘制过程容易出现卡顿问题,并且,目前的在线绘制工具也存在数据存储方面的问题,对系统环境也有很高的要求,无法实现远程同步展示。
为了解决上述问题,下面结合图1至图6对本公开实施例提供的图形绘制方法进行说明。在本公开实施例中,该图形绘制方法可以由电子设备或服务器执行。电子设备或服务器均是本公开实施例中的图形绘制端。其中,电子设备可以包括移动电话、平板电脑、台式计算机、笔记本电脑等具有通信功能的设备。服务器可以是云服务器或者服务器集群等具有存储及计算功能的设备。需要说明的是,以下实施例以电子设备作为执行主体进行示例性的解释。
图1示出了本公开实施例提供的一种图形绘制方法的流程示意图。
如图1所示,该图形绘制方法可以包括如下步骤。
S110、响应于对目标画布的绘制操作,获取待绘制的目标图形对应的组成对象列表以及组成对象列表中不同组成对象之间的依赖关系。
在本实施例中,在课堂教育、在线教育、广告推广等场景中,用户想要绘制动态曲线图或者三维产品图等图形时,手机、电脑等图形绘制端安装图形绘制工具。具体的,图形绘制工具可以是canvas,用户可以通过图形绘制端向目标画布发送绘制操作,使得canvas确定待绘制的目标图形,并从图元数据库或者从其他应用程序中获取待绘制的目标图形的组成对象列表以及依赖关系。
其中,canvas是超文本标记语言5(HyperText Markup Language 5,HTML5)中使用JavaScript在网页上进行图形绘制的工具,是HTML中标准的画布元素或组件,提供了基本API可以绘制直线、路径圆弧等图形。canvas的绘制效率较高不会出现卡顿问题。
其中,目标画布是图形绘制端提供的图形绘制页面,用户可以在目标画布上进行图形绘制以及渲染绘制好的图形。
其中,待绘制的目标图形可以是基于绘制操作所要绘制的任意一种待绘制对象,待绘制的目标图形可以是二维图形也可以是三维图形,可以是静态形式的图形也可以是动态形式的图形。
例如,如图2所示,若用户想要绘制动态的三角函数图形,向图形绘制端的canvas发送动态三角函数的绘制操作,则图形绘制端响应于该绘制操作,从数学软件geogebra或者数据库中动态的三角函数图形对应的组成对象列表以及组成对象列表中不同组成对象之间的依赖关系。
再如,如图3所示,若用户想要绘制动态的凸透镜折射模拟图,向图形绘制端的canvas发送动态凸透镜折射模拟图的绘制操作,则图形绘制端从数学软件geogebra或者数据库中获取动态的凸透镜折射模拟图对应的组成对象列表以及组成对象列表中不同组成对象之间的依赖关系。
其中,组成对象列表图形定义形式的图元数据的列表。图元数据是指构成图形的基本元素。具体的,组成对象列表包括多个不同组成对象。组成对象是构成待绘制的目标图形的基本元素,可以包括诸如点、线、平面几何图形、字符、数字等。
其中,依赖关系是指形成待绘制的目标图形的多个不同组成对象的连接关系或者关联关系。
示例性的,待绘制的目标图形是矩形,待绘制的目标图形的定义为rectangle(ABCD)=【seg(A,B),seg(B,C),seg(C,D),seg(D,A)】。其中,seg(A,B)代表线段AB,seg(B,C)代表线段BC,seg(C,D)代表线段CD,seg(D,A)代表线段DA,并且,AB、BC、CD、DA依次连接,形成矩形ABCD。则,待绘制的目标图形的组成对象列表是【seg(A,B),seg(B,C),seg(C,D),seg(D,A)】。其中,该列表中的组成对象分别为seg(A,B)、seg(B,C)、seg(C,D)、seg(D,A),组成对象之间的依赖关系为seg(A,B)对应的线段AB连接seg(B,C)对应的线段BC、seg(B,C)对应的线段BC连接seg(C,D)对应的线段CD、seg(C,D)对应的线段CD连接seg(D,A)对应的线段DA。
S120、基于组成对象列表和不同组成对象之间的依赖关系,生成待绘制的目标图形对应的待绘制数据。
在本实施例中,图形绘制端利用预先设置的执行上下文模块将图形定义形式的组成对象列表和不同组成对象之间的依赖关系,解析为能够在目标画布上直接绘制的待绘制数据。
其中,待绘制数据是可执行代码(JS数据)形式并且能够直接被canvas所依赖的JavaScript读取。
在一些实施例中,可以直接对组成对象列表和不同组成对象之间的依赖关系进行转译,生成待绘制数据。
在另一些实施例中,可以先将组成对象列表和不同组成对象之间的依赖关系转换为抽象化表现形式的抽象语法树,再对抽象语法树进行转译,生成待绘制数据。
可以理解的是,当绘制不同的图形时,获取其各自对应的组成对象列表中不同组成对象之间的依赖关系,则生成用于绘制不同图形的待绘制数据。在一些情况下,如果待绘制的目标图形不同,即便组成对象列表相同但依赖关系不同,也会生成不同的待绘制数据。在另一些情况下,如果组成对象列表不同即便依赖关系,因此也会生成不同的待绘制数据。
由此,当绘制不同图形时,只需要对每个图形各自对应的组成对象列表以及依赖关系进行灵活组合,生成待绘制数据,并基于待绘制数据进行图形绘制,实现了通过调整图形的组成数据动态生成不同的图形,有助于提高图形绘制过程的灵活性。
S130、基于待绘制数据在目标画布上进行图形绘制,生成绘制好的目标图形。
可以理解的是,待绘制数据是一种可以直接被canvas所依赖的JavaScript直接读取的JS数据,则图形绘制端利用预先设置的图形渲染器或者说图形绘制器,基于待绘制数据在目标画布上进行图形绘制,得到绘制好的目标图形,由此实现一种在线图形绘制。
例如,在课堂教育场景,图形绘制端是教师端设备,教师绘制好图形后,直接将绘制好的目标图形展示在教师端设备的大屏上,供课堂上的每个学生观看。
再如,在广告推广场景,图形绘制端是推广用户设备,推广用户绘制好图形后,直接将绘制好的目标图形展示在推广用户设备的大屏上,供推广场景内的每个观众观看。
本公开实施例提供了一种图形绘制方法,响应于对目标画布的绘制操作,获取待绘制的目标图形对应的组成对象列表以及组成对象列表中不同组成对象之间的依赖关系;基于组成对象列表和不同组成对象之间的依赖关系,生成待绘制的目标图形对应的待绘制数据;基于待绘制数据在目标画布上进行图形绘制,生成绘制好的目标图形。通过上述方式,当绘制多种图形时,只需要确定不同图形对应的组成对象并生成组成对象列表,将组成对象列表与不同组成对象之间的依赖关系转换为待绘制数据之后就可以进行图形绘制,可以适应于绘制多种不同的图形,提高了图形绘制过程的灵活性,并且,上述绘制过程简单能够进行高频率在线绘制,保证了图形的绘制效果。
在本公开另一种实施方式中,为了保证图形绘制效率和绘制效果,先将组成对象列表转换为抽象化表现形式的抽象语法树,再对抽象语法树和不同组成对象之间的依赖关系进行转译,生成待绘制数据。
图4示出了本公开实施例提供的另一种图形绘制方法的流程示意图。
如图4所示,该图形绘制方法可以包括如下步骤。
S410、响应于对目标画布的绘制操作,获取待绘制的目标图形对应的组成对象列表以及组成对象列表中不同组成对象之间的依赖关系。
其中,S410与S110相似,在此不做赘述。
S420、基于组成对象列表生成待绘制的目标图形对应的抽象语法树,其中,组成对象列表中的组成对象基于图形定义形式的多个元素对象和元素对象组合关系确定,并且,抽象语法树上的节点是元素对象的抽象化表现形式,抽象语法树上的节点连接关系是元素组合关系的抽象化表现形式。
其中,抽象语法树是源代码语法结构的一种抽象表示,并且,树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。由此,抽象语法树可以作为图像定义形式的组成对象列表与能够被JavaScript直接读取的JS数据形式的待绘制数据的桥梁。
其中,元素对象是指形成组成对象的基本元素,元素对象组合关系是指形成组成对象的多个元素对象之间的连接关系。
继续参见上述待绘制的目标图形是矩形的示例,组成对象列表中的组成对象seg(A,B)包含的元素对象是A,B,元素对象组合关是A-B;同理,组成对象列表中的组成对象seg(B,C)包含的元素对象是B,C,元素对象组合关是B-C;同理,组成对象列表中的组成对象seg(C,D)包含的元素对象是CD,元素对象组合关是C-D;同理,组成对象列表中的组成对象seg(D,A)包含的元素对象是DA,元素对象组合关是D-A。
可以理解的是,由于抽象语法树上的节点是元素对象的抽象化表现形式,抽象语法树上的节点连接关系是元素组合关系的抽象化表现形式,实现通过此对应形式,将图形定义形式的组成对象列表转换为抽象化表现形式的抽象语法树。
在本公开实施例中,可选的,S420具体可以包括如下步骤:
将组成对象列表切分成多个字符,并将每个字符作为元素对象;
根据待绘制的目标图形对应的元素对象组合关系,将多个元素对象组合成多个词语,并将每个词语作为组成对象;
基于抽象语法树对应的词语组合规则,将多个组成对象组合成抽象语句,并将抽象语句作为抽象语法树。
具体的,图形绘制端的执行上下文模块预先配置解析器,利用解析器将组成对象列表解析为抽象语法树。
其中,字符可以理解为单个字,可以包括关键字、图形名称、以及运算符、逻辑运算符等,词语可以理解为一个单词,多个词语用户形成一个抽象语句。
其中,词语组成规则是指形成抽象语法树的不同词语的上下文逻辑。
继续参见上述待绘制的目标图形是矩形的示例,基于组成对象列表生成矩形对应的抽象语法树的逻辑是:组成对象列表->字符->词语->抽象语句,并将抽象语句作为抽象语法树。具体的,字符(或者说元素对象)包括:A、B、C、D以及seg(*)、词语(或者说组成对象)包括:seg(A,B)、seg(B,C)、seg(C,D)、seg(D,A)、抽象语句(或者说抽象语法树)为图5所示的形式。
由此,可以将图形定义形式的组成对象列表,生成抽象化表现形式的抽象语法树。
S430、基于抽象语法树上的节点、抽象语法树上的节点连接关系以及不同组成对象之间的依赖关系,生成待绘制数据。
在本公开实施例中,可选的,S430具体可以包括如下步骤:
按照从抽象语法树的根节点至叶节点的顺序对抽象语法树进行遍历,获取抽象语法树上每个节点对应的元素对象,以及节点连接关系对应的元素组合关系;
基于每个节点对应的元素对象以及节点连接关系对应的元素组合关系,生成组成对象对应的可执行对象;
生成不同组成对象之间的依赖关系对应的可执行对象关系;
将可执行对象和可执行对象关系进行组合,生成待绘制数据。
在本公开实施例中,“基于每个节点对应的元素对象以及节点连接关系对应的元素组合关系,生成组成对象对应的可执行对象”具体包括:基于每个节点对应的元素对象以及节点连接关系对应的元素组合关系,确定抽象化表现形式的组成对象;将抽象化表现形式的组成对象转译为可执行代码形式的可执行对象;生成不同组成对象之间的依赖关系对应的可执行对象关系,包括:将抽象化表现形式的不同组成对象之间的依赖关系转译为可执行代码形式的可执行对象关系。
具体的,图形绘制端的执行上下文模块预先配置转译器,利用转译器遍历抽象语法树上的每个节点对应的元素对象,以及节点连接关系对应的元素组合关系,并将遍历到的每个节点对应的元素对象以及节点连接关系对应的元素组合关系,生成可执行代码形式的可执行对象,以及将遍历到的不同组成对象之间的依赖关系,生成可执行代码形式的可执行对象关系,最后将可执行代码形式的可执行对象和可执行对象关系组合,使得利用可执行对象关系调整不同可执行对象的顺序,生成符合可执行代码形式的待绘制数据。
示例性的,继续参见上述待绘制的目标图形是矩形的示例,对于图5所示的抽象语法树,首先,按照根节点至叶节点的顺序对抽象语法树进行遍历,获取抽象语法树上每个节点对应的元素对象(例如A、B、C、D以及seg(*)),以及节点连接关系对应的元素组合关系(例如A-seg(*)-B、B-seg(*)-C、C-seg(*)-D、D-seg(*)-A);然后,基于每个节点对应的元素对象(例如A、B、C、D以及seg(*))以及节点连接关系对应的元素组合关系(例如A-seg(*)-B、B-seg(*)-C、C-seg(*)-D、D-seg(*)-A),生成组成对象对应的可执行对象,以及基于图形定义层面的不同组成对象之间的依赖关系,生成可执行对象关系;最后,将可执行对象和可执行对象关系进行组合,使得利用可执行对象关系修正可执行对象的顺序,得到待绘制数据。
由此,可以将抽象化表现形式的抽象语法树以及图形定义形式的依赖关系,转译为可执行代码形式的待绘制数据。
综上,将抽象语法树作为组成对象列表与待绘制数据的转换桥梁,对于复杂的待绘制的目标图形对应的组成对象列表,也可以转换成包含复杂抽象结构的抽象语法树,然后将包含复杂抽象结构的抽象语法树和不同组成对象之间的依赖关系转译为结构精简的待绘制数据,使得复杂的图形绘制过程得以实现。另外,由于抽象语法树的生成过程和解析过程简单易于实现,因此,生成待绘制数据的效率较高,进一步提高了图形绘制和渲染过程的效率。
S440、基于待绘制数据在目标画布上进行图形绘制,生成绘制好的目标图形。
其中,S440与S130相似,在此不做赘述。
在本公开又一种实施方式中,可以采用并行方式进行图形绘制,也可以采用定时绘制方式进行图形绘制。
在本公开一些实施例中,S130具体包括如下步骤:
对于生成待绘制数据的组成对象列表中的不同组成对象,获取不同组成对象分别对应的目标绘制节点;
基于不同组成对象分别对应的目标绘制节点,在目标画布上绘制不同组成对象;
基于生成待绘制数据的不同组成对象之间的依赖关系,组合不同组成对象,生成绘制好的目标图形。
其中,目标绘制节点可以理解为一个线程,可以根据不同组成对象的类型以及各节点的工作状态,确定不同组成对象分别对应的目标绘制节点。
在本实施例中,“基于不同组成对象分别对应的目标绘制节点,在目标画布上绘制不同组成对象”,具体可以包括:基于不同组成对象分别对应的目标绘制节点,获取不同组成对象分别对应的坐标配置数据;根据坐标配置数据,在目标画布上绘制不同组成对象。
其中,坐标配置数据是指组成对象在世界坐标系下定义的坐标。
具体的,图形绘制端的图形绘制器包括多个图元类型对应的绘制节点,可以根据不同组成对象的类型以及各节点的工作状态,确定不同组成对象分别对应的目标绘制节点;然后,图形绘制端的图形绘制器对预先获取的坐标配置数据进行解析,得到不同组成对象在屏幕坐标系下的坐标,并基于屏幕坐标系下的坐标在目标画布上绘制不同组成对象。接着,图形绘制端的图形绘制器基于生成待绘制数据的不同组成对象之间的依赖关系,组合不同组成对象,生成当前图形;最后,图形绘制端的图形绘制器将当前图形与已绘制图形进行比较,目的是确定当前图形是否已被绘制,若当前图形与已绘制图形不相同,则当前图形未被绘制过,将当前图形作为绘制好的目标图形。
为了方便其他案例进行资源引入和交流,对于不同待绘制的目标图形,可以将其对应的待绘制元素存储在预设缓存区中,预设缓存区中存储的数据符合canvas绘制规范,不存在数据格式不统一的问题,因此方便其他案例资源引入和交流。
由此,采用并行绘制方式并结合坐标配置数据在目标画布上进行绘制,保证图形绘制过程的时效性和准确性。
在本公开一些实施例中,S130具体包括如下步骤:
基于预设的帧率配置数据,确定用于定时绘制图形的图形绘制时间;
在当前时间为图形绘制时间时,基于待绘制数据在目标画布上定时进行图形绘制。
可以理解的是,图形绘制端预先设置好帧率控制器,帧率控制器调用图形渲染器定时绘制图形,完成图形渲染过程。具体的,帧率控制器预先设置好帧率配置数据,则基于帧率配置数据设置图形绘制时间,在当前时间为图形绘制时间时,则调用图形绘制器基于待绘制数据在目标画布上进行绘制。
其中,帧率配置数据可以是一天内的绘制频率,则基于该绘制频率计算图形绘制时间。
由此,能够基于预设的帧率配置数据定时进行图形。
在本公开再一种实施方式中,绘制好图形之后,可以生成绘制好的目标图形的版本号,并基于版本号确定是否将绘制好的目标图形发送至图形接收端,以及在图形接收端基于绘制好的目标图形的版本号确定是否需要进行接收。
图6示出了本公开实施例提供的又一种图形绘制方法的流程示意图。
如图6所示,该图形绘制方法可以包括如下步骤。
S610、响应于对目标画布的绘制操作,获取待绘制的目标图形对应的组成对象列表以及组成对象列表中不同组成对象之间的依赖关系。
S620、基于组成对象列表和不同组成对象之间的依赖关系,生成待绘制的目标图形对应的待绘制数据。
S630、基于待绘制数据在目标画布上进行图形绘制,生成绘制好的目标图形。
其中,S610~S630与S110~S130相似,在此不做赘述。
S640、生成绘制好的目标图形的当前版本号,其中,当前版本号是最新的图形版本号。
其中,当前版本号具体形式可以是图形序号,用于区分不同的图形。可选的,当前版本号可以是数字、符号或者数字与符号的组合。
S650、若当前版本号与预先生成的已发送版本号不相同,并且,当前版本号与预先生成的已接收版本号不相同,则将绘制好的目标图形发送至图形接收端,其中,已发送版本号是已发送至图形接收端的图形版本号,已接受版本号是图形接收端已接收的图形版本号。
在本实施例中,图形绘制端通过预先配置的数据发送模块,比较当前版本号和已发送版本号,从而确定当前版本号是否与已发送版本号相同,若相同,则说明绘制好的目标图形已被发送至图形接收端,则结束;若不相同,则说明绘制好的目标图形未被发送至图形接收端,图形绘制端基于websocket技术(是一种在单个TCP连接上进行全双工通信的协议),通过数据发送模块将绘制好的图形发送至分发服务器,分发服务器基于websocket技术再将绘制好的目标图形发送至图形接收端的数据接收模块,并由图形接收端的数据接收模块比较当前版本号和已接收版本号,以确定当前版本号是否与已接收版本号相同,若相同,则说明图形接收端已接收绘制好的目标图形并直接结束;若不相同,则说明绘制好的目标图形未被图形接收端接收,图形接收端接收并显示绘制好的目标图形。
其中,图形接收端是指直接渲染绘制好的图形的图形绘制端。
其中,图形接收端还可以预先配置帧率控制器,帧率控制器调用图形渲染器获取绘制好的图形,使得定时显示绘制好的目标图形。
例如,在课堂教育场景,图形绘制端是教师端设备,图形接收端是学生端设备,教师在教师端设备完成图形绘制之后,教师端设备将绘制好的目标图形发送至学生端设备,则每个学生可以在自己的设备上观看绘制好的目标图形。
由此,完成图形绘制之后,图形绘制端可以基于版本号确定是否将绘制好的目标图形发送至图形接收端,避免图形绘制端重复发送相同的图形。另外,在图形接收端基于绘制好的目标图形的版本号,确定是否接收并对绘制好的目标图形进行显示,避免图形接收端重复显示相同的图形。
为了理解图形绘制逻辑,图7示出了图形绘制系统的系统架构图。
如图7所示,图形绘制系统包括图形绘制端10、分发服务器20以及图形接收端30。
其中,图形绘制端10包括:图形执行上下文模块11、第一图形渲染器12、第一帧率控制器13以及数据发送模块14。具体的,图形上下文模块11包括解析器110和转译器120。
其中,图形接收端30包括:第二图形渲染器31、第二帧率控制器32以及数据接收模块33。
具体的,图形执行上下文模块11可以通过解析器110执行以下操作:响应于对目标画布的绘制操作,获取待绘制的目标图形对应的组成对象列表以及所述组成对象列表中不同组成对象之间的依赖关系;基于所述组成对象列表和所述不同组成对象之间的依赖关系,生成所述待绘制的目标图形对应的待绘制数据;基于所述待绘制数据在所述目标画布上进行图形绘制,生成绘制好的目标图形。其中,解析器110具体执行方法为:基于所述组成对象列表生成所述待绘制的目标图形对应的抽象语法树,其中,所述组成对象列表中的组成对象基于图形定义形式的多个元素对象和元素对象组合关系确定,并且,所述抽象语法树上的节点是所述元素对象的抽象化表现形式,所述抽象语法树上的节点连接关系是所述元素组合关系的抽象化表现形式。解析器110进一步具体的执行方法为:将所述组成对象列表切分成多个字符,并将每个所述字符作为所述元素对象;根据所述待绘制的目标图形对应的元素对象组合关系,将多个所述元素对象组合成多个词语,并将每个所述词语作为所述组成对象;基于所述抽象语法树对应的词语组合规则,将多个所述组成对象组合成抽象语句,并将所述抽象语句作为所述抽象语法树。
具体的,图形执行上下文模块11通过转译器120执行以下操作:基于所述抽象语法树上的节点、所述抽象语法树上的节点连接关系以及所述不同组成对象之间的依赖关系,生成所述待绘制数据。其中,转译器120具体执行方法为:按照从所述抽象语法树的根节点至叶节点的顺序对所述抽象语法树进行遍历,获取所述抽象语法树上每个节点对应的元素对象,以及节点连接关系对应的元素组合关系;基于所述每个节点对应的元素对象以及所述节点连接关系对应的元素组合关系,生成所述组成对象对应的可执行对象;生成所述不同组成对象之间的依赖关系对应的可执行对象关系;将所述可执行对象和所述可执行对象关系进行组合,生成所述待绘制数据。转译器120进一步的具体执行方法为:基于所述每个节点对应的元素对象以及所述节点连接关系对应的元素组合关系,确定抽象化表现形式的组成对象;将所述抽象化表现形式的组成对象转译为可执行代码形式的可执行对象;所述生成所述不同组成对象之间的依赖关系对应的可执行对象关系,包括:将抽象化表现形式的不同组成对象之间的依赖关系转译为可执行代码形式的可执行对象关系。
具体的,第一图形渲染器12执行以下操作:对于生成所述待绘制数据的组成对象列表中的不同组成对象,获取所述不同组成对象分别对应的目标绘制节点;基于所述不同组成对象分别对应的目标绘制节点,在所述目标画布上绘制所述不同组成对象;基于生成所述待绘制数据的不同组成对象之间的依赖关系,组合所述不同组成对象,生成所述绘制好的目标图形。其中,第一图形绘制器12进一步具体执行以下操作:基于所述不同组成对象分别对应的目标绘制节点,获取所述不同组成对象分别对应的坐标配置数据;根据所述坐标配置数据,在所述目标画布上绘制所述不同组成对象。
具体的,第一帧率控制器13执行以下操作:基于预设的帧率配置数据,确定用于定时绘制图形的图形绘制时间;在当前时间为所述图形绘制时间时,基于所述待绘制数据在所述目标画布上定时进行图形绘制。
具体的,数据发送模块14可以执行以下操作:生成所述绘制好的目标图形的当前版本号,其中,所述当前版本号是最新的图形版本号;若所述当前版本号与预先生成的已发送版本号不相同,并且,所述当前版本号与预先生成的已接收版本号不相同,则将所述绘制好的目标图形发送至图形接收端,其中,所述已发送版本号是已发送至所述图形接收端的图形版本号,所述已接受版本号是所述图形接收端已接收的图形版本号;
相应的,图形接收端30的数据接收模块33执行以下操作:图形接收端判断当前版本号是否是已获取版本号;若图形接收端确定当前版本号不是已获取版本号,则图形接收端获取并渲染绘制好的目标图形。具体的,数据发送模块14通过分发服务器20将绘制好的目标图形发送至数据接收模块33。
具体的,图形接收端30的第二帧率控制器32执行以下操作:基于预设的帧率配置数据,设置图形绘制时间;在当前时间为图形绘制时间时,调用第二图形渲染器31在目标画布上显示绘制好的目标图形。
本公开实施例还提供了一种用于实现上述的图形绘制方法的图形绘制装置,下面结合图8进行说明。在本公开实施例中,该图形绘制装置可以为电子设备或服务器。电子设备或服务器均是本公开实施例中的图形绘制端。其中,电子设备可以包括移动电话、平板电脑、台式计算机、笔记本电脑等具有通信功能的设备。服务器可以是云服务器或者服务器集群等具有存储及计算功能的设备。
图8示出了本公开实施例提供的一种图形绘制装置的结构示意图。
如图8所示,图形绘制装置800可以包括:
获取模块810,用于响应于对目标画布的绘制操作,获取待绘制的目标图形对应的组成对象列表以及所述组成对象列表中不同组成对象之间的依赖关系;
生成模块820,用于基于所述组成对象列表和所述不同组成对象之间的依赖关系,生成所述待绘制的目标图形对应的待绘制数据;
绘制模块830,用于基于所述待绘制数据在所述目标画布上进行图形绘制,生成绘制好的目标图形。
本公开实施例提供了一种图形绘制装置,响应于对目标画布的绘制操作,获取待绘制的目标图形对应的组成对象列表以及组成对象列表中不同组成对象之间的依赖关系;基于组成对象列表和不同组成对象之间的依赖关系,生成待绘制的目标图形对应的待绘制数据;基于待绘制数据在目标画布上进行图形绘制,生成绘制好的目标图形。通过上述方式,当绘制多种图形时,只需要确定不同图形对应的组成对象并生成组成对象列表,将组成对象列表与不同组成对象之间的依赖关系转换为待绘制数据之后就可以进行图形绘制,可以适应于绘制多种不同的图形,提高了图形绘制过程的灵活性,并且,上述绘制过程简单能够进行高频率在线绘制,保证了图形的绘制效果。
在一些可选的实施例中,生成模块820,包括:
第一生成单元,用于基于所述组成对象列表生成所述待绘制的目标图形对应的抽象语法树,其中,所述组成对象列表中的组成对象基于图形定义形式的多个元素对象和元素对象组合关系确定,并且,所述抽象语法树上的节点是所述元素对象的抽象化表现形式,所述抽象语法树上的节点连接关系是所述元素组合关系的抽象化表现形式;
第二生成单元,用于基于所述抽象语法树上的节点、所述抽象语法树上的节点连接关系以及所述不同组成对象之间的依赖关系,生成所述待绘制数据。
在一些可选的实施例中,第一生成单元具体用于:
将所述组成对象列表切分成多个字符,并将每个所述字符作为所述元素对象;
根据所述待绘制的目标图形对应的元素对象组合关系,将多个所述元素对象组合成多个词语,并将每个所述词语作为所述组成对象;
基于所述抽象语法树对应的词语组合规则,将多个所述组成对象组合成抽象语句,并将所述抽象语句作为所述抽象语法树。
在一些可选的实施例中,第二生成单元具体用于:
按照从所述抽象语法树的根节点至叶节点的顺序对所述抽象语法树进行遍历,获取所述抽象语法树上每个节点对应的元素对象,以及节点连接关系对应的元素组合关系;
基于所述每个节点对应的元素对象以及所述节点连接关系对应的元素组合关系,生成所述组成对象对应的可执行对象;
生成所述不同组成对象之间的依赖关系对应的可执行对象关系;
将所述可执行对象和所述可执行对象关系进行组合,生成所述待绘制数据。
在一些可选的实施例中,第二生成单元具体用于:
基于所述每个节点对应的元素对象以及所述节点连接关系对应的元素组合关系,确定抽象化表现形式的组成对象;
将所述抽象化表现形式的组成对象转译为可执行代码形式的可执行对象;
所述生成所述不同组成对象之间的依赖关系对应的可执行对象关系,包括:
将抽象化表现形式的不同组成对象之间的依赖关系转译为可执行代码形式的可执行对象关系。
在一些可选的实施例中,绘制模块830包括:
获取单元,用于对于生成所述待绘制数据的组成对象列表中的不同组成对象,获取所述不同组成对象分别对应的目标绘制节点;
绘制单元,用于基于所述不同组成对象分别对应的目标绘制节点,在所述目标画布上绘制所述不同组成对象;
第三生成单元,用于基于生成所述待绘制数据的不同组成对象之间的依赖关系,组合所述不同组成对象,生成所述绘制好的目标图形。
在一些可选的实施例中,绘制单元具体用于:
基于所述不同组成对象分别对应的目标绘制节点,获取所述不同组成对象分别对应的坐标配置数据;
根据所述坐标配置数据,在所述目标画布上绘制所述不同组成对象。
在一些可选的实施例中,绘制模块830包括:
确定单元,用于基于预设的帧率配置数据,确定用于定时绘制图形的图形绘制时间;
定时单元,用于在当前时间为所述图形绘制时间时,基于所述待绘制数据在所述目标画布上定时进行图形绘制。
在一些可选的实施例中,该装置还包括:
版本号生成模块,用于生成所述绘制好的目标图形的当前版本号,其中,所述当前版本号是最新的图形版本号;
发送模块,用于若所述当前版本号与预先生成的已发送版本号不相同,并且,所述当前版本号与预先生成的已接收版本号不相同,则将所述绘制好的目标图形发送至图形接收端,其中,所述已发送版本号是已发送至所述图形接收端的图形版本号,所述已接受版本号是所述图形接收端已接收的图形版本号。
需要说明的是,图8所示的图形绘制装置800可以执行图1至图6所示的方法实施例中的各个步骤,并且实现图1至图6所示的方法实施例中的各个过程和效果,在此不做赘述。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。存储器存储有能够被至少一个处理器执行的计算机程序,计算机程序在被至少一个处理器执行时用于使电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,计算机程序在被计算机的处理器执行时用于使计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,计算机程序在被计算机的处理器执行时用于使计算机执行根据本公开实施例的方法。
参考图9,现将描述可以作为本公开的服务器或客户端的电子设备900的结构框图,其是可以应用于本公开的各方面的硬件设备的示例,该电子设备900可以是上述电子设备。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM903中,还可存储电子设备900操作所需的各种程序和数据。计算单元901、ROM902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
电子设备900中的多个部件连接至I/O接口905,包括:输入单元906、输出单元907、存储单元908以及通信单元909。输入单元906可以是能向电子设备900输入信息的任何类型的设备,输入单元906可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元907可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元904可以包括但不限于磁盘、光盘。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理。例如,在一些实施例中,图形绘制方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM902和/或通信单元909而被载入和/或安装到电子设备900上。在一些实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图形绘制方法。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种图形绘制方法,其特征在于,包括:
响应于对目标画布的绘制操作,获取待绘制的目标图形对应的组成对象列表以及所述组成对象列表中不同组成对象之间的依赖关系;
基于所述组成对象列表和所述不同组成对象之间的依赖关系,生成所述待绘制的目标图形对应的待绘制数据;
基于所述待绘制数据在所述目标画布上进行图形绘制,生成绘制好的目标图形。
2.根据权利要求1所述的方法,其特征在于,所述基于所述组成对象列表和所述不同组成对象之间的依赖关系,生成所述待绘制的目标图形对应的待绘制数据,包括:
基于所述组成对象列表生成所述待绘制的目标图形对应的抽象语法树,其中,所述组成对象列表中的组成对象基于图形定义形式的多个元素对象和元素对象组合关系确定,并且,所述抽象语法树上的节点是所述元素对象的抽象化表现形式,所述抽象语法树上的节点连接关系是所述元素组合关系的抽象化表现形式;
基于所述抽象语法树上的节点、所述抽象语法树上的节点连接关系以及所述不同组成对象之间的依赖关系,生成所述待绘制数据。
3.根据权利要求2所述的方法,其特征在于,所述基于所述组成对象列表生成所述待绘制的目标图形对应的抽象语法树,包括:
将所述组成对象列表切分成多个字符,并将每个所述字符作为所述元素对象;
根据所述待绘制的目标图形对应的元素对象组合关系,将多个所述元素对象组合成多个词语,并将每个所述词语作为所述组成对象;
基于所述抽象语法树对应的词语组合规则,将多个所述组成对象组合成抽象语句,并将所述抽象语句作为所述抽象语法树。
4.根据权利要求2所述的方法,其特征在于,所述基于所述抽象语法树上的节点、所述抽象语法树上的节点连接关系以及所述不同组成对象之间的依赖关系,生成所述待绘制数据,包括:
按照从所述抽象语法树的根节点至叶节点的顺序对所述抽象语法树进行遍历,获取所述抽象语法树上每个节点对应的元素对象,以及节点连接关系对应的元素组合关系;
基于所述每个节点对应的元素对象以及所述节点连接关系对应的元素组合关系,生成所述组成对象对应的可执行对象;
生成所述不同组成对象之间的依赖关系对应的可执行对象关系;
将所述可执行对象和所述可执行对象关系进行组合,生成所述待绘制数据。
5.根据权利要求4所述的方法,其特征在于,所述基于所述每个节点对应的元素对象以及所述节点连接关系对应的元素组合关系,生成所述组成对象对应的可执行对象,包括:
基于所述每个节点对应的元素对象以及所述节点连接关系对应的元素组合关系,确定抽象化表现形式的组成对象;
将所述抽象化表现形式的组成对象转译为可执行代码形式的可执行对象;
所述生成所述不同组成对象之间的依赖关系对应的可执行对象关系,包括:
将抽象化表现形式的不同组成对象之间的依赖关系转译为可执行代码形式的可执行对象关系。
6.根据权利要求1所述的方法,其特征在于,所述基于所述待绘制数据在所述目标画布上进行图形绘制,生成绘制好的目标图形,包括:
对于生成所述待绘制数据的组成对象列表中的不同组成对象,获取所述不同组成对象分别对应的目标绘制节点;
基于所述不同组成对象分别对应的目标绘制节点,在所述目标画布上绘制所述不同组成对象;
基于生成所述待绘制数据的不同组成对象之间的依赖关系,组合所述不同组成对象,生成所述绘制好的目标图形。
7.根据权利要求6所述的方法,其特征在于,所述基于所述不同组成对象分别对应的目标绘制节点,在所述目标画布上绘制所述不同组成对象,包括:
基于所述不同组成对象分别对应的目标绘制节点,获取所述不同组成对象分别对应的坐标配置数据;
根据所述坐标配置数据,在所述目标画布上绘制所述不同组成对象。
8.根据权利要求1所述的方法,其特征在于,所述基于所述待绘制数据在所述目标画布上进行图形绘制,生成绘制好的目标图形,包括:
基于预设的帧率配置数据,确定用于定时绘制图形的图形绘制时间;
在当前时间为所述图形绘制时间时,基于所述待绘制数据在所述目标画布上定时进行图形绘制。
9.根据权利要求1~8任一项所述的方法,其特征在于,还包括:
生成所述绘制好的目标图形的当前版本号,其中,所述当前版本号是最新的图形版本号;
若所述当前版本号与预先生成的已发送版本号不相同,并且,所述当前版本号与预先生成的已接收版本号不相同,则将所述绘制好的目标图形发送至图形接收端,其中,所述已发送版本号是已发送至所述图形接收端的图形版本号,所述已接受版本号是所述图形接收端已接收的图形版本号。
10.一种图形绘制装置,其特征在于,包括:
获取模块,用于响应于对目标画布的绘制操作,获取待绘制的目标图形对应的组成对象列表以及所述组成对象列表中不同组成对象之间的依赖关系;
生成模块,用于基于所述组成对象列表和所述不同组成对象之间的依赖关系,生成所述待绘制的目标图形对应的待绘制数据;
绘制模块,用于基于所述待绘制数据在所述目标画布上进行图形绘制,生成绘制好的目标图形。
11.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储可执行指令;
其中,所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现上述权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211573813.0A CN115731319A (zh) | 2022-12-08 | 2022-12-08 | 图形绘制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211573813.0A CN115731319A (zh) | 2022-12-08 | 2022-12-08 | 图形绘制方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115731319A true CN115731319A (zh) | 2023-03-03 |
Family
ID=85300705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211573813.0A Pending CN115731319A (zh) | 2022-12-08 | 2022-12-08 | 图形绘制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115731319A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302221A (zh) * | 2023-03-27 | 2023-06-23 | 河南牧业经济学院 | 一种基于浏览器的函数图形绘制方法及系统 |
-
2022
- 2022-12-08 CN CN202211573813.0A patent/CN115731319A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302221A (zh) * | 2023-03-27 | 2023-06-23 | 河南牧业经济学院 | 一种基于浏览器的函数图形绘制方法及系统 |
CN116302221B (zh) * | 2023-03-27 | 2023-10-10 | 河南牧业经济学院 | 一种基于浏览器的函数图形绘制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11144711B2 (en) | Webpage rendering method, device, electronic apparatus and storage medium | |
US11954455B2 (en) | Method for translating words in a picture, electronic device, and storage medium | |
CN113808231B (zh) | 信息处理方法及装置、图像渲染方法及装置、电子设备 | |
CN111897619A (zh) | 浏览器页面的显示方法、装置、电子设备及存储介质 | |
US20220076476A1 (en) | Method for generating user avatar, related apparatus and computer program product | |
CN112015468A (zh) | 一种接口文档处理方法、装置、电子设备以及存储介质 | |
CN115309470B (zh) | 微件的加载方法、装置、设备以及存储介质 | |
JP2021006982A (ja) | 文字の色を決定する方法および装置 | |
WO2022262517A1 (zh) | 水印信息显示方法、装置、电子设备、计算机可读介质 | |
CN113377312A (zh) | 同屏互动方法、装置、计算机设备及计算机可读存储介质 | |
CN115731319A (zh) | 图形绘制方法、装置、设备及存储介质 | |
CN113553123B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113342450B (zh) | 页面处理的方法、装置、电子设备及计算机可读介质 | |
CN112445394B (zh) | 一种截图方法和装置 | |
US20230290095A1 (en) | User-interface-framework based processing method, apparatus, device, and medium | |
CN115801777A (zh) | 微件组件的处理方法、装置、设备、存储介质及程序产品 | |
CN113849164A (zh) | 数据处理方法、装置、电子设备和存储器 | |
CN113268693A (zh) | 样式配置方法、装置、存储介质及电子设备 | |
CN113870394A (zh) | 一种动画生成方法、装置、设备及存储介质 | |
CN112596729A (zh) | 目标应用界面生成方法及装置、可读介质和电子设备 | |
CN108459890B (zh) | 用于应用的界面显示方法和装置 | |
CN114500505B (zh) | 文本处理方法、装置和电子设备 | |
US20240104808A1 (en) | Method and system for creating stickers from user-generated content | |
CN107800618B (zh) | 图片推荐方法、装置、终端及计算机可读存储介质 | |
CN116450124A (zh) | 一种前端组件生成方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |