在画板上绘图的方法及装置制造方法及图纸

技术编号:20798514 阅读:27 留言:0更新日期:2019-04-06 12:10
本发明专利技术提供了在画板上绘图的方法及装置,所述方法包括获取画板数据,所述画板数据包括画板映射文件,所述画板映射文件用于记录画板中像素点与所述像素点对应的目标图层之间的映射关系;获取触发指令,所述触发指令包括绘图指令和所述触发指令对应的焦点;获取所述焦点所在目标像素;根据所述画板映射文件选择所述目标像素对应的目标图层;由所述目标图层响应所述绘图指令。本发明专利技术通过预先获取画板映射文件的方式快速定位能够响应触发指令的目标图层,从而快速执行所述触发指令所包含的绘图指令,具备图形加载快、内存占用少和响应速度快的显著优势。

The Method and Device of Drawing on the Sketchpad

The invention provides a drawing method and device on a drawing board, the method includes acquiring drawing board data, the drawing board data includes drawing board mapping file, the drawing board mapping file is used to record the mapping relationship between the pixel points in the drawing board and the target layer corresponding to the pixel points, and the acquisition triggering instruction includes drawing instruction and the focus corresponding to the triggering instruction. A point; obtains the target pixel where the focus is located; selects the target layer corresponding to the target pixel according to the drawing board mapping file; and responds to the drawing instruction by the target layer. The invention can quickly locate the target layer which can respond to the trigger instruction by acquiring the mapping file of the drawing board in advance, thereby quickly execute the drawing instruction contained in the trigger instruction, and has the remarkable advantages of fast graphics loading, less memory occupation and fast response speed.

【技术实现步骤摘要】
在画板上绘图的方法及装置
本专利技术涉及计算机领域,尤其涉及在画板上绘图的方法及装置。
技术介绍
现有技术中通常通过图层组织图形数据,而在画板上显示图形的过程就是将各个图层对应的图形数据可视化的过程,而不同的图形可能位于不同的图层之上,从而导致了现有技术中的绘图过程存在如下问题:(1)耗费内存不同的图形可能位于不同的图层之上,为了在绘图过程中准确定位当前操作的图形所在的图层,需要在绘图期间将每一个图层数据都保存在内存中。(2)加载速度慢在画板初始化阶段,需要对各个图层的数据进行解析,从而为后续判断需要被操作的图形所在的图层做准备,从而出现耗时长、主线程卡顿的问题。(3)响应速度慢在绘图过程中,需要一直根据触发指令的发布位置遍历每一个图层,以判断所述图层是否为需要操作的图形所在的图层,存在一定的响应耗时。
技术实现思路
为了解决上述技术问题,本专利技术提出了在画板上绘图的方法及装置。本专利技术具体是以如下技术方案实现的:一方面,一种在画板上绘图的方法,包括:获取画板数据,所述画板数据包括画板映射文件,所述画板映射文件用于记录画板中像素点与所述像素点对应的目标图层之间的映射关系;获取触发指令,所述触发指令包括绘图指令和所述触发指令对应的焦点;获取所述焦点所在目标像素;根据所述画板映射文件选择所述目标像素对应的目标图层;由所述目标图层响应所述绘图指令。另一方面,一种在画板上绘图的装置,包括:画板数据获取模块,用于获取画板数据,所述画板数据包括画板映射文件,所述画板映射文件用于记录画板中像素点与所述像素点对应的目标图层之间的映射关系;触发指令获取模块,用于获取触发指令,所述触发指令包括绘图指令和所述触发指令对应的焦点;目标像素获取模块,用于获取所述焦点所在目标像素;目标图层选择模块,用于根据所述画板映射文件选择所述目标像素对应的目标图层;响应模块,用于由所述目标图层响应所述绘图指令。本专利技术提供了在画板上绘图的方法及装置。本专利技术通过预先获取画板映射文件的方式快速定位能够响应触发指令的目标图层,从而快速执行所述触发指令所包含的绘图指令,具备图形加载快、内存占用少和响应速度快的显著优势。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。图1是本专利技术实施例提供的一种在画板上绘图的方法流程图;图2是本专利技术实施例提供的画板映射文件的生成方法流程图;图3是本专利技术实施例提供的一种在画板上分块涂色的方法流程图;图4(1)是本专利技术实施例提供的图层的示意图;图4(2)是本专利技术实施例提供的另一图层的示意图;图4(3)是本专利技术实施例提供的另一图层的示意图;图4(4)是本专利技术实施例提供的另一图层的示意图;图4(5)是本专利技术实施例提供的另一图层的示意图;图4(6)是本专利技术实施例提供的另一图层的示意图;图4(7)是本专利技术实施例提供的另一图层的示意图;图4(8)是本专利技术实施例提供的另一图层的示意图;图4(9)是本专利技术实施例提供的另一图层的示意图;图4(10)是本专利技术实施例提供的另一图层的示意图;图4(11)是本专利技术实施例提供的另一图层的示意图;图4(12)是本专利技术实施例提供的另一图层的示意图;图4(13)是本专利技术实施例提供的另一图层的示意图;图4(14)是本专利技术实施例提供的另一图层的示意图;图4(15)是本专利技术实施例提供的对于图层进行分块涂色的显示结果示意图;图5是本专利技术实施例提供的一种在画板上绘图的装置框图;图6是本专利技术实施例提供的画板映射文件生成模块框图;图7是本专利技术实施例提供的终端示意图;图8是本专利技术实施例提供的一种服务器结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本专利技术实施例公开了一种在画板上绘图的方法,如图1所示,所述方法包括:S101.获取画板数据,所述画板数据包括画板映射文件,所述画板映射文件用于记录画板中像素点与所述像素点对应的目标图层之间的映射关系。具体地,本专利技术实施例中各个图层的大小均与画板的大小一致,图层包括可操作区域和不可操作区域,可操作能够被用户触发,而不可操作区域不能够被用户触发。以用户通过点击操作为画板涂色为例,若用户在某个图层的可操作区域点击,则该图层响应用户操作,可操作区域对应的像素即可被涂色;若用户在不可操作区域点击,则该图层不响应用户的操作。若所述画板中的某个像素所在位置被触发,则由所述所述像素对应的目标图层产生响应,所述目标图层满足下述条件:所述目标图层的可操作区域包括所述像素点,即所述像素点落入所述目标图层的可操作区域。进一步地,在一个优选的实施方式中,所述画板数据还包括按照图层进行数据组织而得到的图层数据,而各个图层数据的可视化均可以被单独控制,画板的显示图像可以由多幅可视的图层数据叠加显示而得到。步骤S101中可以直接对画板数据中的图层数据进行可视化渲染,而不用再对其进行解析,提升了画板数据加载的速度。S102.获取触发指令,所述触发指令包括绘图指令和所述触发指令对应的焦点。具体地,发出所述触发指令的方式可以为在所述画板上单击鼠标、双击鼠标、滑动鼠标滚轮、绘制某种预设轨迹、当鼠标落在所述画板上时触发某个键盘指令、手指点按画板等,本专利技术实施例并不限定具体的触发方式,只要能够获取所述触发指令对应的焦点即可。S103.获取所述焦点所在目标像素;若所述目标像素位于所述画板内,则根据所述画板映射文件选择所述目标像素对应的目标图层。在一个优选的实施例中,步骤S103之前还可以包括判断所述目标像素是否位于画板中的步骤,若否,则提示用户触发位置错误。步骤S103中可以直接根据画板映射文件定位目标图层,而不必再遍历每一个图层,提升了响应速度,并且由于不必再遍历每一个图层,因此,就可以不必将全部的图层都保存在内存,而只需要及时根据步骤S103的选择结果将被选出的目标图层读入内存即可,避免了对于内存的过多消耗。S104.由所述目标图层响应所述绘图指令。具体地,所述绘图指令可以包括涂色、打标、抠图、美化等常见的绘图指令,本专利技术实施例并不限定具体的绘图指令。本专利技术实施例中提供了一种在画板上绘图的方法,所述绘图方法通过预先获取画板映射文件的本文档来自技高网
...

【技术保护点】
1.一种在画板上绘图的方法,其特征在于,包括:获取画板数据,所述画板数据包括画板映射文件,所述画板映射文件用于记录画板中像素点与所述像素点对应的目标图层之间的映射关系;获取触发指令,所述触发指令包括绘图指令和所述触发指令对应的焦点;获取所述焦点所在目标像素;根据所述画板映射文件选择所述目标像素对应的目标图层;由所述目标图层响应所述绘图指令。

【技术特征摘要】
1.一种在画板上绘图的方法,其特征在于,包括:获取画板数据,所述画板数据包括画板映射文件,所述画板映射文件用于记录画板中像素点与所述像素点对应的目标图层之间的映射关系;获取触发指令,所述触发指令包括绘图指令和所述触发指令对应的焦点;获取所述焦点所在目标像素;根据所述画板映射文件选择所述目标像素对应的目标图层;由所述目标图层响应所述绘图指令。2.根据权利要求1所述的方法,其特征在于,还包括:各个图层的大小均与画板的大小一致,图层包括可操作区域和不可操作区域,可操作能够被用户触发,而不可操作区域不能够被用户触发;所述像素点对应的目标图层满足下述条件:所述目标图层的可操作区域包括所述像素点。3.根据权利要求1所述的方法,其特征在于,还包括画板映射文件的生成方法,具体包括:对每个图层进行编号;构建与画板的像素矩阵大小相同的映射矩阵;遍历图层,并根据遍历结果为映射矩阵赋值。4.根据权利要求3所述的方法,其特征在于:所述遍历图层,并根据遍历结果为映射矩阵赋值包括为每个图层执行下述操作;获取所述图层中可操作区域在所述像素矩阵的位置;将所述映射矩阵中的目标区域的字节赋值为所述图层的编号,所述目标区域在所述映射矩阵中的位置与所述可操作区域在所述像素矩阵的位置相同。5.根据权利要求3所述的方法,其特征在于,还包括:对得到的画板映射文件进行压缩。6.根据权利要求1所述的方法,其特征在于,还包括:绘制画板对应的图层,所述图层的可操作区域使用非透明色填充,不可操作区域使用透明色填充;响应于所述触发指令,对目标图层上可操作区域连通的各个像素涂上相...

【专利技术属性】
技术研发人员:潘伟洲
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1