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

绘画显示方法及显示设备与流程

2022-07-31 10:19:53 来源:中国专利 TAG:
1.本发明涉及显示设备
技术领域
:,尤其涉及一种绘画显示方法及显示设备。
背景技术
::2.在一些场景中,显示设备可安装画板应用,在启动画板应用后,用户可以选择画笔和绘画样式(例如颜色、线粗等),并在画板界面上随意绘制图像。某些画板应用不仅支持单端离线绘画,还支持云画画功能,所述云画画功能是指多个终端通过服务器进行通信交互,实现多人协同绘画及画作共享。3.在发起n个人的协同绘画之后,相当于建立起一个虚拟的绘画房间,绘画房间内包括n个在线终端,以其中终端a为例,终端a将本端用户的绘画数据a上传到服务器,再由服务器将绘画数据a转发至绘画房间内的其他在线终端,其他在线终端根据接收的绘画数据a对本端画板界面显示的图像进行动态更新。但云画画功能容易出现的问题是,绘画房间内各在线终端的画板界面上显示的图像不同步,一致性差,最终可能导致绘画出现偏差。技术实现要素:4.为解决上述
背景技术
:中的问题,本发明提供一种绘画显示方法及显示设备,5.第一方面提供的显示设备,包括:6.显示器,用于显示用户界面,所述用户界面包括画板界面;7.存储器,用于按照用户操作顺序缓存绘画数据,其中所述绘画数据中携带有第一时间信息,所述第一时间信息用于标识绘画操作时刻对应的时间;8.通信器,用于与远端通信连接;9.控制器,配置为执行:10.启动多终端协同作画事件后,响应于用户针对所述显示设备输入的绘画操作,将所述绘画操作对应的第一绘画数据缓存至所述存储器,并在显示器上呈现作画图像;11.接收远端发送的第二绘画数据,所述第二绘画数据中也包含有第二智能设备在接收到第二绘画操作时刻对应的第二时间信息;将所述第二绘画数据缓存至所述存储器,并按照第一时间信息和第二时间信息中的时间顺序重新排序;12.根据所述存储器的当前缓存数据,对画板界面显示的作画图像更新显示。13.第三方面提供一种绘画显示方法,应用于显示设备,所述设备包含于显示器,存储器,通信器,和控制器,其特征在于:14.启动多终端协同作画事件后,响应于用户针对所述显示设备输入的绘画操作,将所述绘画操作对应的第一绘画数据缓存至所述存储器,并在显示器上呈现作画图像,其中,所述第一绘画数据中包含有所述显示设备在接收到第一绘画操作时刻对应的第一时间信息;15.接收远端发送的第二绘画数据,所述第二绘画数据中也包含有第二智能设备在接收到第二绘画操作时刻对应的第二时间信息;将所述第二绘画数据缓存至所述存储器,并按照第一时间信息和第二时间信息中的时间顺序重新排序;16.根据所述存储器的当前缓存数据,对画板界面显示的作画图像更新显示。17.用户启动画板应用后,可在画板界面中进行绘画操作,显示设备可接收绘画数据,所述绘画数据可以是根据本端用户的绘画操作而生成,也可是通过网络接收的来自其他智能设备的绘画数据。显示设备端设置有缓存绘画数据的存储器,为精准表达画作时序,绘画数据中都配置有时间信息,时间信息用于指示真实的绘画时间,通过比较时间信息的大小,即可确定每个绘画数据在存储器内的缓存序位,从而在存储器内按实际绘画时序缓存接收的绘画数据,并以存储器的当前缓存数据为依据生成并显示画作图像。本技术实现按实际绘画时序来显示画作图像,并且基于绘画数据的时间信息共享,实现各终端内存储器的缓存排序匹配于实际绘画时间,保证各终端显示的画作图像一致。附图说明18.图1示出了一种显示设备与控制装置之间操作场景;19.图2示出了一种控制装置100的硬件配置框图;20.图3示出了一种显示设备200的硬件配置框图;21.图4示出了一种显示设备200中软件配置图;22.图5示例性示出了一种画板界面的示意图;23.图6示例性示出了点击更多控件625后的画板界面;24.图7示例性示出了设置画笔页面的示意图一;25.图8示例性示出了设置画笔页面的示意图二;26.图9示例性示出了设置画笔页面的示意图三;27.图10示例性示出了设置画笔页面的示意图四;28.图11示例性示出了云画画功能的通信场景示意图;29.图12示例性示出了画板应用支持云画画功能时的画板界面示意图;30.图13示例性示出了协同绘画模式下选择被邀请对象的示意图;31.图14示例性示出了终端a发送绘画邀请后,画板界面的变化示意图;32.图15示例性示出了终端b显示绘画请求页面的示意图;33.图16示例性示出了用户b同意绘画邀请后,终端a的画板界面的变化示意图;34.图17示例性示出了用户c响应超时,终端a的画板界面的变化示意图;35.图18示例性示出了用户c拒绝绘画邀请时,终端a的画板界面的变化示意图;36.图19示例性示出了用户c响应超时或拒绝邀请后终端a的画板界面的变化示意图;37.图20示例性示出了边语音边协同作画场景下,终端a和终端b的交互示意图;38.图21示例性示出了边视频边协同作画场景下,终端a和终端b的交互示意图;39.图22示例性示出了用户a退出协同绘画时,终端a和终端b的交互示意图;40.图23示例性示出了一种多人协同进行云画画场景的时序图;41.图24示例性示出了在图23的时序错误情况下,各终端的画板界面显示的画作;42.图25示例性示出了一笔作画时的画点及作画动作的分布示意图;43.图26示例性示出了一种云画画功能设置的预设堆栈示意图;44.图27示例性示出了终端a在协同绘画模式下的入栈示意图;45.图28示例性示出了第一种绘画显示方法的流程图;46.图29示例性示出了第二种绘画显示方法的流程图;47.图30示例性示出了第三种绘画显示方法的流程图;48.图31示例性示出了一种协同绘画模式的交互逻辑图。具体实施方式49.为使本技术的目的和实施方式更加清楚,下面将结合本技术示例性实施例中的附图,对本技术示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本技术一部分实施例,而不是全部的实施例。50.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。51.本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。52.术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。53.本技术实施方式提供的显示设备可以具有多种实施形式,例如,可以是电视、智能电视、激光投影设备、显示器(monitor)、电子白板(electronicbulletinboard)、电子桌面(electronictable)等。图1和图2为本技术的显示设备的一种具体实施方式。54.图1为根据实施例中显示设备与控制装置之间操作场景的示意图。如图1所示,用户可通过智能设备300或控制装置100操作显示设备200。55.在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。56.在一些实施例中,也可以使用智能设备300(如移动终端、平板电脑、计算机、笔记本电脑等)以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。57.在一些实施例中,显示设备可以不使用上述的智能设备或控制设备接收指令,而是通过触摸或者手势等接收用户的控制。58.在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制设备来接收用户的语音指令控制。59.在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。60.图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。61.如图3,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。62.在一些实施例中控制器包括处理器,视频处理器,音频处理器,图形处理器,ram,rom,用于输入/输出的第一接口至第n接口。63.显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控ui界面。64.显示器260可为液晶显示器、oled显示器、以及投影显示器,还可以为一种投影装置和投影屏幕。65.通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与外部控制设备100或服务器400建立控制信号和数据信号的发送和接收。66.用户接口,可用于接收控制装置100(如:红外遥控器等)的控制信号。67.检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器(图中未示出);或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。68.外部装置接口240可以包括但不限于如下:高清多媒体接口接口(hdmi)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(cvbs)、usb输入接口(usb)、rgb端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。69.调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及epg数据信号。70.在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。71.控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示ui对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。72.在一些实施例中控制器包括中央处理器(centralprocessingunit,cpu),视频处理器,音频处理器,图形处理器(graphicsprocessingunit,gpu),ramrandomaccessmemory,ram),rom(read-onlymemory,rom),用于输入/输出的第一接口至第n接口,通信总线(bus)等中的至少一种。73.用户可在显示器260上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。[0074]“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphicuserinterface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。[0075]参见图4,在一些实施例中,将系统分为四层,从上至下分别为应用程序(applications)层(简称“应用层”),应用程序框架(applicationframework)层(简称“框架层”),安卓运行时(androidruntime)和系统库层(简称“系统运行库层”),以及内核层。[0076]在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包不限于以上举例。[0077]框架层为应用程序提供应用编程接口(applicationprogramminginterface,api)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过api接口,可在执行中访问系统中的资源和取得系统的服务。[0078]如图4所示,本技术实施例中应用程序框架层包括管理器(managers),内容提供者(contentprovider)等,其中管理器包括以下模块中的至少一个:活动管理器(activitymanager)用与和系统中正在运行的所有活动进行交互;位置管理器(locationmanager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(packagemanager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(notificationmanager)用于控制通知消息的显示和清除;窗口管理器(windowmanager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。[0079]在一些实施例中,活动管理器用于管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出、打开、后退等。窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。[0080]在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的c/c 库以实现框架层要实现的功能。[0081]在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、wifi驱动、usb驱动、hdmi驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。[0082]在一些实施例中,对于与前述显示设备相同或相似的终端,终端可提供绘画功能,绘画功能可通过安装相关应用来实现,为方便描述,本技术将其称之为“画板应用”。用户在终端打开画板应用后,显示器呈现出画板界面,用户通过画板界面中提供的绘画工具控件,选择期望为画作施加的绘制样式,所述绘制样式不限于包括画笔类型(例如荧光笔、铅笔、水彩笔、油画笔等)、线条颜色、线条宽度、线型、形状、填充等,然后用户操作画笔,即可在画板界面中的绘画区域中绘制画作。[0083]在一些实施例中,用户在绘画区域中的某一位置落下画笔,按照图案轨迹移动画笔,一笔勾画完毕时,抬起画笔,以此类推,用户通过多次落笔涂画,以及笔画图案的累积和叠加,最终完成勾勒出所需目标画作。[0084]在一些实施例中,用户可通过如遥控器、键盘、鼠标等控制装置,与画板应用进行交互以及操作画笔绘画,显示设备可通过用户接口,接收控制装置的操作指令,感知用户的绘画操作;对于支持触屏功能的终端,终端可包括触控感应模块,触控感应模块用于感知和响应用户的触屏操作,用户通过触摸屏幕来输入操作指令,在绘制图像时,用户将手指点击在画板上的某一位置,然后按照图案轨迹来移动手指,一笔勾画完毕时,用户松开手指,终端通过识别手指从按压屏幕到离开屏幕期间的触控轨迹,即可确定触控动作对应的笔画图案,并同步显示于画板界面上。[0085]在一些实施例中,用户可自定义绘制画作,也可在画板应用中打开本地图像,并对本地图像进行编辑,所述编辑不限于填加文本标注、填加图案标注、图像缩放、擦除图案、编辑图像的亮度、对比度等形式。[0086]在一些实施例中,图5示例一种画板界面,画板界面包括绘画区域510和控件区域520。用户通过控件区域520中选取的绘制样式,在绘画区域510中落笔勾勒图案,绘画区域510跟随用户绘画操作同步显示画作图像。[0087]在一些实施例中,如图5所示,控件区域520中包括若干绘画工具控件,不限于画笔控件521、擦除控件522、删除控件523、录像控件524、更多控件525、撤销控件526、恢复控件527和保存控件528等。[0088]在一些实施例中,参照图5,根据画笔类型,画笔控件521还包括若干子控件,不限于包括毛笔控件、钢笔控件、铅笔控件、水彩笔控件、油画笔控件、荧光笔控件等;擦除控件522相当于画板的橡皮擦,用于擦除部分图案,并利用背景色替换被擦除区域;删除控件523用于删除/清空当前画作图像;录像控件524用于对绘画过程进行录制;撤销控件625用于撤销当前绘制的笔画,即相当于返回上一步;恢复控件527用于恢复通过撤销控件526执行的撤销操作;保存控件528用于保存当前已绘制的图像,用户点击保存控件528后,可选择存储路径,例如将画作图像保存于本地相册或桌面等路径。[0089]在一些实施例中,用户点击更多控件525后,如图6所示,在控件区域520显示被隐藏的其他绘画工具控件,例如截屏控件525a、旋转控件525b、背景设置控件525c、分享控件525d等。其中,截屏控件525a被触发时,终端自动截取当前的画板界面图像并保存于指定路径;旋转控件525b用于对绘画区域510中的图像进行旋转,例如顺时针旋转90°、逆时针旋转90°、水平旋转、竖直旋转、镜像翻转等;背景设置控件525c用于设置绘画区域510的背景样式,所述背景样式例如是白板背景、黑板背景、彩色背景(颜色可选取)、自定义背景等,其中自定义背景是用户自由设置的背景,例如填加背景图像,用户设置绘画区域510的背景后,可在背景上方的图层中绘制图像,通过画图 定义背景使画板应用不再单调地局限于白板绘画,可提升绘画的观赏性;分享控件525d用于将用户已绘制的图像分享给指定的好友或社交应用中,例如用户将在画板应用中绘制的山水画分享给微信好友,或分享至朋友圈,实现画板应用的社交联动属性。[0090]在一些实施例中,用户在画笔控件521中选择画笔类型时,可以同步设置画笔绘制出的线条的颜色、宽度和线型等属性。如图7所示,假设用户选中“铅笔”,可在控件区域520上方弹出画笔设置页面530。画笔设置页面530至少包括三类板块,用户在板块一中可设置画笔的线条颜色,板块一中列举m种常用颜色,例如颜色1为黑色、颜色2为白色、颜色3为红色,颜色4为绿色,提供用户快速选色的途径,或者,用户可点击色板控件530a,从而调出色板,所述色板中分布有各种颜色,用户可在色板中拾取目标颜色。[0091]在一些实施例中,用户在板块二中设置画笔的线条宽度,线条宽度体现了线条呈现的粗细,参照图8,用户点击第一下拉控件530b,则弹出线条宽度列表,线条宽度列表排序有多种宽度的线条示例,例如从上至下线宽递增,用户可从线条宽度列表选择一种目标线宽,或者自定义画笔宽度。或者,如图9所示,在板块二中设置线宽调节控件530c,线宽调节控件530c包括线宽条530c-1和标点530c-2,线宽条530c-1中线条宽度从左至右连续递增,即又细线向粗线递变,用户可操作标点530c-2沿线宽条530c-1滑动,从而将标点530c-2定位在线宽条530c-1上的合适位置处,完成线宽的自定义设置。[0092]在一些实施例中,用户在板块三中设置画笔的线型,如图10所示,用户点击第二下拉控件530d,则弹出线型列表,线型列表中提供多种线型,不限于实线、虚线、点线、点划线等类别,用户从线型列表选定一种目标线型。在各板块都设置完成后,用户可点击保存设置控件530e,则自动保存“铅笔”这一画笔类型下的线条属性,并关闭所述画笔设置页面530。之后,用户可使用“铅笔”画笔在绘画区域510进行画图操作。[0093]在前述各实施例中,主要体现用户在终端独自绘画,为便于描述和区分,将用户单端独自绘画称之为单机绘画或单端离线绘画模式。[0094]在一些实施例中,某些画板应用支持云画画功能,云画画提供多终端用户协同绘画模式及画作共享的功能,属于一种多端在线交互绘画模式。图11示例云画画功能的通信场景,在图11的子图(a)中,用户a通过终端a分别向用户b和用户c发起绘画邀请,服务器响应于终端a的绘画邀请,分别向用户b的终端b以及用户c的终端c发送绘画请求,同时建立起一个虚拟、三人的“绘画房间”,此时绘画房间内仅包含用户a。此时,绘画房间的状态是等待用户b和用户c的响应。[0095]在多终端交互中,终端之间可以通过广域网或者局域网进行通信,如设备之间可以通过服务器进行数据转发,相较于用户所在的本地设备,服务器可以被认为是远端,或者将服务器和其他第二智能设备作为整体后被认为是远端。当然,设备和设备之间还有可能通过近场直接通信,如蓝牙、zigbee等等,这种情况下,相较于用户直接控制的设备为本地设备,其他的第二设备可以被认为是远端。下文中实施例均以设备之间需通过服务器转发为示例展开说明。[0096]在一些实施例中,参照图11的子图(b),用户b和用户c接受绘画请求后,用户b和用户c依次加入到绘画房间,此时绘画房间内包含用户a、用户b和用户c,终端a、终端b和终端c通过服务器进行通信。之后,三人协同绘画,画作在终端a、终端b和终端c之间实时共享及同步更新。通过服务器内的虚拟绘画房间,构建起多个智能设备进行协同绘画时的通信关联。[0097]在一些实施例中,参照图11的子图(c),首先用户b通过操作画笔绘制的图案1为“‑”,则终端b将图案1的数据上传至服务器,服务器再将图案1的数据转发给终端a和终端c,则终端a、终端b和终端c的画板界面上同时显示“‑”;参照图11的子图(d),然后用户a接力绘画,在图案1上叠画出图案2为“|”,终端a将图案2的数据上传至服务器,服务器将图案2的数据转发给终端b和终端c,则终端a、终端b和终端c的画板界面上同时显示图案1和图案2的叠加图案为“十”,以此类推,直至完成最终画作。[0098]前述实施例是从通信场景和虚拟绘画房间的角度对云画画功能进行说明,下面将结合终端ui作进一步描述。在一些实施例中,若画板应用支持云画画功能,如图12所示,在画板界面的控件区域520中增设协同绘画控件529,以用户a作为协同绘画发起人为例,用户a在终端a的画板界面中触发绘画控件529后,如图13所示,画板界面上显示对象选择页面540,对象选择页面540中包括好友列表541、其他选择途径542和邀请控件543。[0099]在一些实施例中,参照图13,好友列表541中包括用户a在画板应用中已添加的好友的用户信息,所述用户信息不限于用户名、账号id等,用户a可从好友列表541中选取至少一个目标好友作为被邀请对象,例如图13中用户a选定了用户b和用户c这两个好友,然后触发邀请控件543,则终端a生成绘画邀请,所述绘画邀请中包括用户a的用户信息1、用户b的用户信息2及用户c的用户信息3,并将用户信息1标识为协同绘画发起方,将用户信息2和用户信息3标识为参与协同绘画的被邀请方。其他选择途径542关联于第三方应用,例如微信等社交app,从而通过其他方式邀请好友。[0100]在一些实施例中,终端a将所述绘画邀请发送给服务器,服务器响应于该绘画邀请,建立一个虚拟的、三人的绘画房间,以及,解析到用户b和用户c为被邀请方,则获取用户b使用的终端b和用户c使用的终端c的设备信息,所述设备信息不限于包括终端设备的mac地址、ip地址、设备id等;服务器根据发起人的用户信息1和终端b的设备信息生成绘画请求1,以及,根据发起人的用户信息1和终端c的设备信息生成绘画请求2,并将绘画请求1发送至终端b,将绘画请求2发送至终端c。此时,终端a的画板界面变化为如图14所示。[0101]在一些实施例中,参照图14,画板界面中会显示绘画模式提示信息,绘画模式提示信息用于向用户a提示绘画模式已切换至协同绘画模式,图14中呈现为“您已进入协同绘画模式”,同时在画板界面上的预设位置处显示三个指示控件142,所述指示控件142用于指示绘画房间内的成员信息和响应状态,此时用户a作为绘画发起人,在绘画房间建立时默认自动加入,因此用户a对应的指示控件142显示用户a在画板应用中设置的头像1,并在头像1的下方显示身份标识为“自己”;由于用户b和用户c此时尚未接受绘画请求,因此用户b和用户c对应的指示控件142显示置灰头像142a,以及在置灰头像142a的下方显示状态提示信息142b,此时状态提示信息142b例如为“待响应”、“正在邀请…”等,使用户a获知用户b和用户c的响应状态。[0102]在一些实施例中,终端b接收到绘画请求1,终端c接收到绘画请求2后,可以生成并显示绘画请求页面。以终端b为例,终端b响应于绘画请求1,生成的绘画请求页面如图15所示,绘画请求页面中包括请求信息151、同意控件152和拒绝控件153,请求信息151用于询问用户b是否接受用户a发起的三人绘画邀请,例如图15中请求信息151示例为“用户a邀请您加入三人协同绘画,是否同意?”。[0103]在一些实施例中,若用户b愿意参与用户a发起的协同绘画,则在绘画请求页面中触发同意控件152,则终端a向服务器发送同意邀请消息;服务器接收到同意邀请消息,将用户b加入到绘画房间内,并变更用户b的响应状态,此时终端a的画板界面变化如图16所示,画板界面提示“用户b已加入协同绘画”,同时用户b对应的指示控件142由原置灰头像142a更新为用户b在画板应用中设置的头像2,并在头像2的下方显示用户b的身份标识,所述身份标识可以是用户b在画板应用中设置的昵称,或者是用户a为用户b设置的备注名等。[0104]在一些实施例中,终端c接收到绘画请求2后,参照图15示例,终端c同样显示绘画请求页面,并启动计时机制,若计时时间超过第一预设时长时,终端c始终未接收到用户c对同意控件152和拒绝控件153中任一控件的触发操作,则向服务器返回超时消息;服务器接收到超时消息,不将用户c加入到绘画房间,以及将超时消息转发给终端a和终端b,终端a和终端b在画板页面中提示用户c响应超时。如图17所示,以终端a为例,用户c对应的指示控件142保持显示置灰头像142a,并变更状态提示信息142b为“响应超时”或“邀请超时”等。[0105]在一些实施例中,终端c接收到绘画请求2后,参照图15示例,终端c同样显示绘画请求页面,若在所述第一预设时长内,终端c接收到用户c对拒绝控件153的触发操作,即用户c拒绝参与用户a发起的协同绘画,则终端c向服务器发送拒绝邀请消息;服务器接收到拒绝邀请消息,不将用户c加入到绘画房间,以及将拒绝邀请消息转发给终端a和终端b,终端a和终端b在画板页面中提示用户c已拒绝本次绘画邀请。如图18所示,以终端a为例,用户c对应的指示控件142保持显示置灰头像142a,并变更状态提示信息142b为“已拒绝邀请”等。[0106]在一些实施例中,对于被邀请对象存在响应超时或拒绝邀请的场景,已加入绘画房间内的成员使用的终端在变更状态提示信息的第二预设时长之后,可自动取消显示该被邀请对象的指示控件142。以用户c为例,使用户c对应的状态提示信息显示“响应超时”或“已拒绝邀请”持续第二预设时长,以确保用户a和用户b能够查看用户c的响应状态,此时虚拟的绘画房间内仅成功加入用户a和用户b两名成员,之后如图19所示,在终端a和终端b的画板界面中取消显示用户c对应的指示控件142,即此时画板界面中仅包含用户a和用户b的指示控件142。也就是说,虽然用户a发起的是三人绘画,但由于对用户c邀请失败,实际上仅为两人绘画。[0107]在一些实施例中,在进入协同绘画后,多人之间往往需要对话交流,以便更好地配合并协力完成画作,对此云画画功能也可配置多人之间的语音通话或视频通话功能。对于支持语音通话功能的云画画,还需终端具备语音采集和语音播放的能力,体现在终端硬件上需配置声音采集器和声音播放器,声音采集器例如为麦克风等,声音播放器可以是终端内置扬声器或外接音频设备,外接音频设备不限于蓝牙音响、耳机等;对于支持视频通话功能的云画画,不仅要求终端具备语音采集和语音播放能力,还需要具备视频采集能力,体现在终端硬件上需配置声音采集器、声音播放器和图像采集器,图像采集器例如为摄像头等。[0108]在一些实施例中,以支持用户a和用户b边语音通话,边协同作画为例,用户a和用户b对应的指示控件142内还包括语音子控件142c,语音子控件142c可至少呈现为两种形态,如图20的示例,对于终端a和终端b,用户b对应的语音子控件142c呈现为第一形态,即显示类似小麦克风的标识,第一形态表征用户b当前未说话,保持静默状态;用户a对应的语音子控件142c呈现为第二形态,即显示动态的“|||||”标识,第二形态表征用户a当前正在说话。随着用户a和用户b的对话状态变化,语音子控件142c的形态也同步变化。[0109]在一些实施例中,参照图20,用户b当前正在操作画笔来绘制图像,并且用户b未说话,用户a正在说话但未执行绘画操作,则终端b将用户b输入的绘画数据1上传至服务器,以及,终端a将采集到的用户a的音频数据1上传至服务器;服务器将绘画数据1转发给终端a,终端a在画板界面上同步显示绘画数据1;以及,服务器将音频数据1转发至终端b,终端b控制声音播放器播放音频数据1,同时终端b将画板界面中对应于用户a的语音子控件142c切换为第二形态。[0110]在一些实施例中,绘画房间内任一成员可在本端控制语音采集能力和语音播放能力的启闭状态,例如,在协同绘画模式下,用户a若关闭麦克风,即关闭画板应用的语音采集能力,则终端a的协同绘画模式处于禁言状态,终端a停止采集并上传用户a的音频数据,用户b也就无法收听到用户a的语音;用户a若开启麦克风,则终端a正常采集并上传用户a的音频数据,用户b可以收听到用户a发出的语音内容。用户a若关闭声音播放器,即关闭画板应用的语音播放能力,则终端a的协同绘画模式处于静音状态,终端a可停止接收及播放用户b的音频数据,此时用户a无法收听到用户b的语音;用户a若开启声音播放器,则终端a正常接收及播放用户a的音频数据,使得用户a能够收听到用户b的语音。[0111]在一些实施例中,如图21所示,以支持用户a和用户b边视频通话,边协同作画为例,可将用户a和用户b对应的指示控件142,可将头像替换为视频窗口,对于终端a一侧,由于用户b是对端视频用户,将显示用户b视频画面的视频窗口1b相对放大,将显示本端用户a视频画面的视频窗口1a相对缩小;对于终端b一侧,则是将显示用户a视频画面的视频窗口2a相对放大,将显示本端用户b视频画面的视频窗口2b相对缩小。通过图21,实现用户a与用户b通过视频通话进行交流,同时合作完成一幅画作。[0112]在一些实施例中,参照图21,当前用户a正在绘画,用户b暂未绘画,终端a将用户a输入的绘画数据2上传至服务器,以及,终端a将采集到的用户a的音视频数据1(包括视频数据1 音频数据1)上传至服务器,以及,终端b将采集到的用户b的音视频数据2(包括视频数据2 音频数据2)上传至服务器;服务器将绘画数据2和音视频数据1转发给终端b,将音视频数据2转发给终端a;终端a在画板界面上显示用户输入的绘画数据2,在用户a对应的视频窗口1a中加载显示本端采集的视频数据1,在用户b对应的视频窗口1b中加载显示对端发送的视频数据2,同时终端a控制声音播放器播放音频数据2;终端b在画板界面上同步显示绘画数已接收的绘画数据2,在用户a对应的视频窗口2a中加载显示对端发送的视频数据1,在用户b对应的视频窗口2b中加载显示本端采集的视频数据2,同时终端b控制声音播放器播放音频数据1。本实施例实现了视频通话与绘画的数据并行通信机制。[0113]在一些实施例中,对于支持视频通话的云画画功能,绘画房间内任一成员除了能在本端控制语音采集能力和语音播放能力的启闭状态,还能控制视频采集能力的启闭状态。用户a若关闭摄像头,即终端a关闭画板应用的视频采集能力,则终端a停止采集及上传用户a的视频数据1,并将用户a对应的视频窗口1a替换为默认图像,所述默认图像可为通用的黑屏图像或用户a在画板应用内设置的头像1,此时用户a仅能观看到对端用户b的视频画面,无法观看到本端采集的视频画面;同时,由于终端b无法接收到视频数据1,即用户b无法观看到用户a的视频画面,则终端b将用户a对应的视频窗口2a替换为所述默认图像。[0114]在一些实施例中,如图20所示,在边语音边协同绘画的场景下,终端a和终端b的画板界面上还设置有切换视频控件201,用户a和用户b中任一人触发切换视频控件201,即可从语音通话模式切换至视频通话模式。[0115]在一些实施例中,如图21所示,在边视频边协同绘画场景下,终端a和终端b的画板界面上还设置有切换语音控件211,用户a和用户b中任一人触发切换语音控件211,即可从视频通话模式切换至语音通话模式。[0116]在一些实施例中,参照图12~图21的示例,在用户a发起协同绘画邀请并进入协同绘画模式,或者被用户a邀请的好友同意绘画请求并进入协同绘画模式后,加入绘画房间内各成员使用的终端所显示的画板界面上还设置有退出控件550,退出控件550用于被触发时退出当前的协同绘画模式及绘画房间。[0117]在一些实施例中,参照图22,以用户a与用户b边视频边绘画,并且用户a在终端a触发退出控件550为例,终端a停止采集及上传用户a的音视频数据1,退出协同绘画模式的画板界面,并向服务器发送退出消息;服务器接收到该退出消息,将用户a从绘画房间内移除,停止向终端a继续推送用户b的音视频数据2,以及将退出消息转发至终端b;终端b接收到用户a的退出消息,在画板界面中提示“用户a已退出”,同时撤销对应于用户a的视频窗口2a,终端b查询到绘画房间内当前仅存用户b一人,则停止向服务器上传用户b的音视频数据2,此时画板界面中仅剩余一个视频窗口2b正显示本端视频画面,用户b可继续单人绘画,或者用户b在终端b触发退出控件550,则终端b停止采集用户b的音视频数据2,并退出协同绘画模式的画板界面。[0118]在一些实施例中,假设绘画房间内包含n个成员,每个成员对应一个终端,n个成员之间边视频边绘画,其中用户2在终端2触发退出控件550,则终端2停止采集及上传用户2的音视频数据2,退出协同绘画模式的画板界面,并向服务器发送退出消息;服务器接收到该退出消息,将用户2从绘画房间内移除,停止向终端2继续推送其他n-1个用户的音视频数据,以及将退出消息同时转发给绘画房间内当前剩余的n-1个成员的终端;对于绘画房间内当前剩余的n-1个成员中任一用户终端,在接收到用户2的退出消息时,均在各自画板界面中提示“用户2已退出”,同时撤销对应于用户2的视频窗口,若n大于2,即绘画房间内当前剩余成员人数的n-1大于1,则维持采集并上传本端的音视频数据,以及维持接收其他n-2个用户的音视频数据;若n=2,即绘画房间内当前协同绘画的成员仅余一个用户1,则用户1使用的终端1无法接收到用户2的音视频数据2,停止向服务器上传用户1的音视频数据1。对于边语音边绘画的场景,各终端对音频数据和绘画数据的推拉流过程可适应性参照前述边视频边绘画场景。[0119]在一些实施例中,启用云画画功能进行多人协同绘画时,各终端将产生的绘画数据上传服务器时,受各终端的网络通信状况影响,可能导致服务器的数据接收时序与实际绘画时序不一致。如图23示例的时序图,以三人协同绘画为例,终端2在t1时刻向服务器上传绘画数据1,终端1在t2时刻向服务器上传绘画数据2,在绘画时序上t1小于t2,但由于终端1的网络通信状况良好,而终端2的网络通信状况差,因此终端2相较于终端1的网络延时更大,服务器在t3时刻先接收到绘画数据2,并将绘画数据2转发给终端2和终端3,之后服务器在t4时刻接收到绘画数据1,并将绘画数据1转发给终端1和终端3,即在服务器端的数据接收时序上t3小于t4,即更早生成的绘画数据1却更晚达到服务器,更晚生成的绘画数据2反而更早到达服务器,而各终端都是按照从服务器接收到绘画数据的时序来更新画作,这种时序错误会导致各终端显示的画作不一致。[0120]在一些实施例中,以图23中的ts时刻为例,如图24所示,在ts时刻终端2已接收到服务器转发的绘画数据2,加上之前用户2在t1时刻输入的绘画数据1,因此终端2的画板界面上会显示绘画数据1 绘画数据2叠加后的画作;由于ts小于t4,因此在ts时刻终端1尚未接收到绘画数据1,仅具有在之前t2时刻接收的绘画数据1,因此终端1的画板界面上仅显示绘画数据1对应的画作;在ts时刻终端3已接收到服务器转发的绘画数据2,但尚未接收到绘画数据1,同理终端3的画板界面上仅显示绘画数据1对应的画作。由图23和图24可见,由于网络延迟的差异性,极易引发云画画功能的时序错误问题,导致终端1、终端2和终端3显示的画作持续性不同步,导致最终画作呈现与理想画作存在偏差。[0121]在一些实施例中,在协同绘画模式下,各终端为本端产生的每一步绘画操作设置时间信息和绘画操作id,其中时间信息用于表征绘画操作的完成时间,时间信息例如呈现为时间戳或时间标识等形式;绘画操作id用于对每步绘画操作进行标识和区分,并将时间信息和绘画操作id填加到每一步绘画操作对应生成的绘画数据中。通过时间信息 绘画操作id,实现各终端接收到服务器发送的绘画数据,能精准辨别各项绘画数据的实际作画时间,进而按照准确时序对各项绘画数据在预设堆栈中的排布进行决策,从而保证各终端显示的画作满足时序上的一致性。[0122]在一些实施例中,用户利用画笔在画板界面上绘图时,可绘制多笔图案,对于单独一笔图案而言,用户执行的作画动作包括一个落笔操作、一步或多步绘画操作和一个抬笔操作。图25示例了一笔作画时的画点及作画动作分布,用户执行落笔操作,画笔的初始落点为画点0,此时终端监控到action_down事件被触发,则启动对画笔轨迹的定位和追踪。用户落笔后即可移动画笔,使画笔沿指定轨迹移动,从而描绘出图案,在图25示例中,画笔的位移为依次历经画点0→画点1→画点2→画点3→画点4→画点5→画点6,在此期间,画笔从画点i行进至画点i 1,即产生一步绘画操作,其中i表示画笔所处的画点序号,0≤i≤p-1,p为一笔画所包含的画点总数;用户每执行一步绘画操作,终端会监控到action_move事件被触发,则向服务器上传绘画数据,即按步上传,直至单笔作画结束。在用户将画笔移动至画点6时,执行抬笔操作,此时终端监控到action_up事件被触发,则一笔作画到此截止。[0123]在一些实施例中,画点的分割方式不限定,例如在落笔之后,抬笔之前,每间隔预设时间(例如100毫秒)捕捉一个画点,从而将一笔画分割为沿轨迹分布的若干画点,其中,所述预设时间不限定。[0124]在一些实施例中,从落笔到抬笔构成一笔绘画动作,画板应用会为每一笔绘画动作分配绘画操作id,绘画操作id具有全局唯一性,即每笔绘画操作的id值都不同,为区分不同终端上报的绘画数据,定义不同终端的绘画操作id的起始值不同,例如终端a的绘画操作id起始值为000(即id范围为000~099),终端b的绘画操作id起始值为100(即id范围为100~199),终端c的绘画操作id起始值为200(即id范围为200~299)等,从而避免终端的绘画操作id之间出现重合。随着绘画操作依次递增id值,以图25为例,终端a接收到在画点0处的落笔操作,分配的id值为000,画点0→画点1对应的绘画操作id值为000,画点1→画点2对应的绘画操作id值为000,画点2→画点3对应的绘画操作id值为000,画点3→画点4对应的绘画操作id值为000,画点4→画点5对应的绘画操作id值为000,画点5→画点6对应的绘画操作id值为000,则第一笔绘画动作截止,由于从画点0落笔直至画点6处抬笔,中间经过的各个画点都包含于同一笔绘画动作内,因此具有统一的绘画操作id,在第二笔绘画动作起始时,则从001开始分配id。[0125]在一些实施例中,终端接收到落笔操作后,每行进一个画点,都要向服务器上报一项绘画数据,绘画数据中包括绘制图案的相关数据、时间信息、绘画操作id等。[0126]在一些实施例中,定义绘画数据包括画笔设置信息、作画坐标、时间信息、绘画操作id和状态标识,其中所述画笔设置信息包括画笔类型,画笔颜色,画笔宽度和画笔线型等。画笔类型不限于铅笔、钢笔、水彩笔等,画笔类型、画笔颜色、画笔宽度和画笔线型都是用户作画时就已设定好的;作画坐标是画点在绘画区域510内的相对坐标(x,y),其中x为在界面宽度方向上的坐标值,y为在界面高度方向上的坐标值,例如用户将画笔从画点0移动至画点1,则该绘画操作对应的作画坐标为(x1,y1),(x1,y1)表示画点1的坐标;通过画笔类型、画笔颜色、画笔宽度、画笔线型和作画坐标,即可确定每一步绘画操作所勾勒及呈现出的图案。时间信息例如为本端作画时的标准时钟,可选择以毫秒为单位,例如用户将画笔从画点2移动至画点3,则该绘画操作对应的时间信息为画笔移动至画点3时的时间。[0127]在一些实施例中,所述状态标识用于指示作画状态,包括第一状态标识、第二状态标识和第三状态标识。第一状态标识用于指示作画状态为开始绘画,即对应于落笔操作;第二状态标识用于指示作画状态为正在绘画,即对应于在落笔之后移动画笔的操作过程;第三状态标识用于指示作画状态为结束作画,即对应于抬笔操作。通过时间信息 绘画操作id 状态标识,可以识别每一笔绘画动作产生哪些绘画数据,以及便于各终端构建各项绘画数据在真实时序上的排布。[0128]在一些实施例中,加入绘画房间内的各在线终端按照前述定义的数据结构,将本端产生的第一绘画数据逐步上传服务器,以及,从服务器接收其他终端推送的第二绘画数据。对于每个在线终端,可将接收于本端的第一绘画数据,及其他终端通过网络(例如服务器)发送的本端的第二绘画数据,按照时间顺序缓存至存储器,并根据存储器的当前缓存数据生成并显示画作图像。当检测到存储器的缓存发生更新时,需要对画板界面显示的画作图像进行更新。[0129]在一些实施例中,可在存储器中设置对应于云画画功能的预设堆栈,所述预设堆栈用于按时序缓存第一绘画数据和第二绘画数据,画板应用根据预设堆栈生成并显示匹配的图像,实现各终端中画板界面的画作动态更新。[0130]在一些实施例中,第一绘画数据中携带有第一时间信息,所述第一时间信息用于标识绘画操作时刻对应的时间;第二绘画数据中也包含有第二智能设备在接收到第二绘画操作时刻对应的第二时间信息。当一次绘画操作中包含有至少一个画点时,第一时间信息中包含该至少一个画点对应的时间信息。控制器通过记录用户在操作时刻画下某一画点的时刻,该时间信息可以区别于了落笔时间信息和抬笔时间信息。[0131]更值得说明的,第二时间信息严格区别于显示设备接收到所述绘画数据的时间。由于显示设备接收远端发送的数据时,有可能引入延时,导致用户协同作画时候,时序上出现为紊乱。这种情况下网络环境不佳的情况下更加明显。例如当用户a在第1秒执行了红色画笔绘画操作,有可能在另一个终端接收到绘画操作是在第11秒的时间,这样,如果用户也在本地进行了其他的诸如绿色画笔绘画操作,那么两个绘画的交点处,本来是绿色覆盖在红色之上,但实际上确是红色覆盖在绿色之上。(在先绘制的在先显示,在后绘制可以覆盖在先绘制的内容)[0132]在一些实施例中,如图26示例云画画功能设置的预设堆栈,预设堆栈可自底向上按时序堆叠和缓存各项绘画数据,但所述时序不是依据原有逻辑中绘画数据的接收时间,而是基于前述数据结构中的时间信息和绘画操作id表达的真实绘画时间,并由此重新定义预设堆栈的缓存规则。时间信息用于记录用户实际的绘画时间,时间信息越大,表明绘画数据越新,即越接近于当前时间;时间信息越小,表明绘画数据越旧,即超前当前时间越长,因此按照时间信息递增顺序自底向上依序缓存绘画数据。[0133]在一些实施例中,若多个绘画数据具有相同的时间信息,则进一步通过比较绘画操作id来确定作画的时序,并由此定义多个绘画数据时间信息相同时预设堆栈的缓存规则,例如按照绘画操作id递增或递减的顺序,自底向上缓存具有相同时间信息的绘画数据。[0134]在一些实施例中,假设绘画操作id越大,认为绘画数据越新;绘画操作id越小,认为绘画数据越旧。若绘画数据1和绘画数据2具有相同时间信息,而绘画数据1的绘画操作id大于绘画数据2的绘画操作id,则认为绘画数据1相较绘画数据2更新,即在预设堆栈中绘画数据1排序在绘画数据2之上。[0135]在一些实施例中,图27提供终端a在协同绘画模式下的入栈示例,当前预设堆栈缓存如图27中的子图(a),当前预设堆栈中缓存有6个绘画数据,其中最底层的绘画数据1(0,0)对应于绘画房间内产生的第一个落笔动作;绘画数据2(1,1)表明当前排序在预设堆栈第二层的绘画数据的时间信息为1,绘画操作id为1;绘画数据3(3,2)表明当前排序在预设堆栈第三层的绘画数据的时间信息为3,绘画操作id为2,以此类推,当前栈顶为绘画数据6(20,5)。[0136]在一些实施例中,若此时终端a接收到服务器发送的绘画数据x(28,6),读取到绘画数据x的时间信息为28,当前栈顶的绘画数据6的时间信息为20,基于时间信息越大绘画数据越新的规则,认为绘画数据x是在作画时序上当前最新的绘画数据,因此将绘画数据x(28,6)入栈至栈顶,如图27中的子图(b),预设堆栈更新为7层,其中栈顶为绘画数据7(28,6)。[0137]在一些实施例中,若此时终端a接收到服务器发送的来自于终端b的绘画数据y(10,6),读取到绘画数据y的时间信息为10,当前栈顶的绘画数据6的时间信息为20,基于时间信息越小绘画数据越旧的规则,显然绘画数据y并不是最新绘画数据,可能是因终端b网络延迟较大,导致服务器接收到绘画数据y的时间晚,则根据绘画数据y的时间信息遍历预设堆栈,进行入栈前的排序定位,绘画数据y(10,6)的时间信息小于当前的绘画数据5(12,4),绘画数据y(10,6)的时间信息大于当前的绘画数据4(8,3),因此需要将绘画数据y(10,6)入栈至绘画数据4(8,3)的上层,如图27中的子图(c),预设堆栈更新为7层,预设堆栈前四层不变,绘画数据y入栈前的第五层和第六层绘画数据同时上升一层,即预设堆栈第五层替换为绘画数据5(10,6),预设堆栈第六层替换为绘画数据6(12,4),预设堆栈第七层为绘画数据7(20,5),栈顶数据未变。[0138]在一些实施例中,若此时终端a接收到服务器发送的绘画数据z(12,6),读取到绘画数据z的时间信息为12,当前栈顶的绘画数据6的时间信息为20,因此绘画数据z不是最新绘画数据,不能直接入栈至栈顶。比较时间信息发现,绘画数据z(12,6)与当前预设堆栈内的绘画数据5(12,4)具有相同的时间信息,而绘画数据5(12,4)的绘画操作id更小,则认为绘画数据z(12,6)比绘画数据5(12,4)更新,因此需要将绘画数据z(12,6)入栈至绘画数据5(12,4)的上一层位,如图27中的子图(d),预设堆栈更新为7层,预设堆栈前五层不变,绘画数据z入栈前的第六层绘画数据上升一层,即预设堆栈第六层替换为绘画数据6(12,6),预设堆栈第七层为绘画数据7(20,5),栈顶数据未变。图27中时间信息和绘画操作id的值仅仅是为方便描述而做出的示例性表达,不构成对真实取值的限定。[0139]在一些实施例中,各终端接收到本端输入或服务器转发的绘画数据时,按照如上方式进行入栈和缓存,终端根据本端当前预设堆栈,自底向上依次绘制并叠加每一绘画数据,从而构建出与实际绘画时序一致的画作图像,并在画板界面的绘画区域510中显示画作图像,每次监控到预设堆栈产生入栈事件,即预设堆栈的缓存发生更新时,都要同步更新画作图像,保证画作显示的准确性。[0140]在一些实施例中,各终端可以逐个画点向服务器上报绘画数据,以及在预设堆栈中逐个画点缓存绘画数据。[0141]在一些实施例中,终端a检测从落笔到抬笔期间产生的画点,可将各画点的绘画数据按时序进行组合,得到一笔画数据,并将一笔画数据上传到服务器,即以“一笔画”作为单位向服务器上传数据。但对于本端及其他接收到一笔画数据的终端,在预设堆栈中以“画点”作为单位缓存绘画数据。例如终端b接收到服务器发送的来自于终端a的一笔画数据,该一笔画数据中包括画点0(落笔)对应的绘画数据1、画点1对应的绘画数据2、画点2对应的绘画数据3、画点3(抬笔)对应的绘画数据4,则根据绘画数据1~绘画数据4各自的时间信息和绘画操作id,完成对绘画数据1~绘画数据4的入栈和缓存。以画点作为预设堆栈的缓存单位,可以提升作画时序和堆栈缓存的准确性。[0142]在一些实施例中,终端a检测到绘画状态变更为抬笔状态时,记录抬笔时间,并以抬笔时间作为一笔画数据的时间信息,此时该时间信息标识一笔作画的完成时间,即不再为每个画点单独设置时间信息,该实施例中一笔画数据内包含多个画点对应的绘画数据、绘画操作id和抬笔时间,每个画点对应的绘画数据仅包括画笔设置信息、画点坐标和状态标识。终端a将一笔画数据上传给服务器,服务器再将一笔画数据转发给正在协同绘画的其他终端,例如终端b接收到该一笔画数据,根据一笔画数据中指示的抬笔时间和绘画操作id,依据前述缓存规则,完成该一笔画数据在终端b的入栈任务。该实施例中,是以单笔绘画为单位,进行一笔画数据的上传和入栈缓存。[0143]在一些实施例中,用户退出云画画功能的多人在线协同绘画模式后,可以清空预设堆栈的缓存,以便下一次绘制共享画作时,重新构建匹配于新画作的缓存;或者,为便于用户查看云画画的历史画作,每次发起协同绘画或接受协同绘画邀请时,终端建立一个新堆栈,这样即便退出本次云画画,也无需清空其他历史堆栈内的缓存。[0144]在一些实施例中,基于前述画板应用、云画画功能、绘画数据结构和入栈缓存规则,看图28示例第一种绘画显示方法,所述方法由终端内的控制器执行,所述方法包括如下程序步骤:[0145]步骤s281,接收绘画数据,所述绘画数据内包括表征绘画时间的时间信息。[0146]所述绘画数据是从本端接收的,或者是由其他智能设备通过网络发送至本端。[0147]步骤s282,根据所述时间信息,确定当前接收的绘画数据在存储器内的目标序位。[0148]步骤s283,将所述当前接收的绘画数据缓存至所述目标序位。[0149]步骤s284,根据所述存储器内的当前缓存数据生成画作图像,在画板界面显示所述画作图像。[0150]在一些实施例中,如图29所示,本技术提供第二种绘画显示方法,所述方法包括:[0151]步骤s291,接收当前绘画数据。[0152]步骤s292,比较当前绘画数据的时间信息a与栈顶绘画数据的时间信息b。[0153]步骤s293,判断时间信息a是否大于时间信息b。若时间信息a大于时间信息b,说明当前绘画数据是最新数据,则执行步骤s294;若时间信息a小于或等于时间信息b,则执行步骤s295。[0154]步骤s294,将所述当前绘画数据缓存在预设堆栈的栈顶。步骤s294执行完成后转到步骤s2910。[0155]步骤s295,判断时间信息a是否等于时间信息b。若时间信息a等于时间信息b,则执行步骤s296;若时间信息a小于时间信息b,则执行步骤s299和步骤s2910。[0156]步骤s296,比较所述当前绘画数据的绘画操作id-1与所述栈顶绘画数据的绘画操作id-2。[0157]步骤s297,判断绘画操作id-1是否大于绘画操作id-2。若绘画操作id-1大于绘画操作id-2,则执行步骤s294;若绘画操作id-1小于绘画操作id-2,则执行步骤s298。[0158]步骤s298,将所述栈顶绘画数据的缓存序位上移一层,将所述当前绘画数据缓存至所述栈顶绘画数据的原序位。步骤s298执行完成后转到步骤s2910。[0159]步骤s299,根据预设堆栈的缓存规则,确定所述当前绘画数据在预设堆栈内的目标序位。其中所述预设堆栈的缓存规则配置为:按照时间信息递增的顺序,自底向上缓存绘画数据;以及,按照绘画操作id递增或递减的顺序,自底向上缓存具有相同时间信息的绘画数据。[0160]步骤s2910,根据所述预设堆栈生成并显示画作图像。[0161]在一些实施例中,如图30所示,本技术提供第三种绘画显示方法,是以每笔绘画动作为衡量,实现绘画数据的缓存和作画图像的刷新,所述方法包括:[0162]步骤s301,接收绘画数据。[0163]步骤s302,根据所述绘画数据内的状态标识,识别绘画状态。[0164]步骤s303,若所述绘画状态为落笔状态,则记录当前一笔画动作的起点。然后返回步骤s301,继续接收后续各画点对应的绘画数据。[0165]步骤s304,若所述绘画状态为正在绘画状态,缓存并绘制所述绘画数据。然后继续执行步骤s301。步骤s304中缓存的绘画数据尚未入栈至预设堆栈,底层提前绘制绘画数据,便于后续快速刷新画板界面的画作图像。[0166]步骤s305,若所述绘画状态为抬笔状态,记录当前一笔画动作的止点。[0167]步骤s306,按时间顺序对起止点期间接收的绘画数据进行排序整合,得到一笔画数据。[0168]步骤s307,根据所述一笔画数据的止点时间信息和绘画操作id,确定所述一笔画数据在预设堆栈内的目标序位。[0169]其中,所述止点时间信息用于表征当前一笔画动作的完成时间,即抬笔时间,一笔画数据内包含按画点轨迹生成的多个绘画数据,这些绘画数据具有相同的绘画操作id。[0170]步骤s308,将一笔画数据缓存至所述目标序位,并刷新画板界面显示的画作图像。[0171]在一些实施例中,图31示例协同绘画模式下的交互逻辑,以终端a向终端b和终端c发起三人绘画邀请的场景为例,用户a在终端a启动画板应用后,触发协同绘画控件,并选择用户b和用户c作为受邀对象,则终端a由此生成并向服务器发送协同绘画请求;服务器响应于协同绘画请求,建立包含三名成员的虚拟绘画房间,同时分别向用户b使用的终端b和用户c使用的终端c发送协同绘画邀请;终端b和终端c向服务器返回接受邀请信息,则将用户b和用户c加入到虚拟绘画房间内。此时,虚拟绘画房间内的任意成员都可开始绘画。[0172]在一些实施例中,参照图31,终端a接收用户输入的绘画数据1,将绘画数据1上传给服务器,绘画数据1内包括画笔设置信息(包括画笔类型、画笔颜色、画笔宽度和画笔线型等)、画点坐标、时间信息、绘画操作id和状态标识,服务器将绘画数据1转发给终端b和终端c;终端b和终端c根据绘画数据1的时间信息和绘画操作id,定位绘画数据1在各自预设堆栈内的目标序位,并将绘画数据1缓存在目标序位,并根据预设堆栈更新本端显示的画作图像。以此类推,按时序完成后续绘图数据在各终端的共享、入栈缓存以及画作图像的更新,保证各终端画作显示的一致性。[0173]在一些实施例中,参照图31,假设用户a退出当前协同绘画模式,终端a向服务器发送退出指示信息1,并停止采集及向服务器上传用户a的绘画数据;服务器响应于退出指示信息1,将用户a从虚拟绘画房间内移除,停止向终端a推送绘画数据,并向终端b和终端c提示用户a已退出当前协同绘画。之后就是用户b和用户c的双人绘画模式。[0174]在一些实施例中,参照图31,之后用户c退出当前协同绘画模式,终端c向服务器发送退出指示信息2,并停止采集及向服务器上传用户c的绘画数据;服务器响应于退出指示信息2,将用户c从虚拟绘画房间内移除,停止向终端c推送绘画数据,此时虚拟绘画房间内仅余用户b一人,服务器向终端b提示用户c已退出当前协同绘画;终端b检测到虚拟绘画房间内仅剩本端用户一人,停止向服务器上传用户b的绘画数据,用户b可保持或退出单人绘画模式。[0175]在一些实施例中,参照图31,用户b退出当前协同绘画模式,终端b向服务器发送退出指示信息3,服务器响应于退出指示信息3,检测到虚拟绘画房间已空,则取消该虚拟绘画房间。[0176]图31仅仅是一种交互场景下的示例,根据绘画人数、云画画支持的通话功能(例如视频通话和语音通话)、每个绘画成员的行为操作(不限于拒绝邀请、接受邀请、绘画操作、退出绘画等)等方面,对上述交互逻辑进行适应性地调整和扩展。绘画数据的数据结构不限于本技术实施例的配置,在时间信息 绘画操作id的基础上,本领域技术人员可以对预设堆栈的时序缓存规则进行适配和设定。画板应用和云画画的功能及ui也不限于本技术的实现方式,本技术ui图是以手动触控形式进行操作及绘画为例,在实际应用中用户也可通过如遥控器、鼠标、键盘等装置来操作设备及执行绘画动作。另外,服务器也不限于实现本技术示例的业务功能。[0177]在一些实施例中,本技术提供一种具有读写能力的存储器,所述存储器与控制器连接,所述存储器用于受控于控制器,按照前述缓存规则,缓存绘画数据,以及支持控制器从存储器中读取缓存数据,以便生成并显示画作图像。[0178]在一些实施例中,所述存储器中可设置与画板应用关联的预设堆栈,若用户进入离线绘画模式,则所述预设堆栈会按时序缓存本端用户离线作画时产生的绘画数据;若用户进入多设备间的协同绘画模式,则所述预设堆栈会按照前述缓存规则,缓存来自本端的第一绘画数据以及其他终端通过网络发送的第二绘画数据。在退出绘画后,可清空预设堆栈的缓存。[0179]在一些实施例中,所述存储器可临时创建堆栈,例如控制器在离线绘画模式下接收到落笔操作,或者检测到进入协同绘画模式,则向存储器发送缓存指令;存储器响应于缓存指令,新建对应于当前绘画模式的堆栈。该实施例中在退出绘画后,可无需清空堆栈的缓存。[0180]在一些实施例中,本技术还提供一种计算机存储介质,该计算机存储介质可存储有程序。当计算机存储介质位于显示设备中时,该程序执行时可包括终端内控制器配置的绘画显示方法的程序步骤。其中,计算机存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称rom)或随机存储记忆体(英文:randomaccessmemory,简称ram)等。[0181]最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。[0182]为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释本公开的内容,从而使得本领域技术人员更好的使用所述实施方式。当前第1页12当前第1页12
再多了解一些

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

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

相关文献