一种基于android白板防闪烁的方法及其装置
技术领域
本申请涉及图像通信领域,特别涉及一种基于android白板防闪烁的方法及其装置。
背景技术
科技技术的发展,使得黑板过渡成了白板;现今电子白板已经被大量的运用在各种触摸书写的一体机中。在现有技术中,为了使得电子白板能到达更好的书写体验,通常是使用白板加速方案,让电子白板控制显存内容刷新的机制来提高书写性能,达到更好的流畅度。但是通过白板加速的机制直接操作显存内容,当在电子白板上的书写轨迹越过覆盖在白板界面之上的其他悬浮窗控件时,通过获取悬浮窗所在区域内的整个矩形背景,将该整个矩形以最小单位矩形进行贴图,导致电子白板呈现越过覆盖在白板界面之上的其他悬浮窗控件的书写轨迹时出现较明显的锯齿效应。
发明内容
本申请提供了一种基于android白板防闪烁的方法及其装置,由于电子白板使用根据悬浮窗轮廓制作的目标画布进行绘画,使得当电子白板呈现越过覆盖在白板界面之上的其他悬浮窗控件的书写轨迹不进行显示,避免了出现锯齿效应。
本申请第一方面提供了一种基于android白板防闪烁的方法,包括:
确定绘画画布,并锁定电子白板的显示屏幕,所述显示屏幕用于显示画布绘画结果;
获取悬浮窗的相关数据;
通过根据所述相关数据裁剪所述绘画画布制作目标画布;
解锁所述显示屏幕,并通过所述目标画布执行绘画功能。
可选的,所述获取悬浮窗的相关数据,包括:
确定悬浮窗对应的坐标位置,并获取所述悬浮窗对应的悬浮窗轮廓;
根据所述坐标位置和所述悬浮窗轮廓确定相关数据。
可选的,所述通过根据所述相关数据裁剪所述绘画画布制作目标画布,包括:
根据所述相关数据设置在所述绘画画布上的预裁剪区域;
通过在所述绘画画布上裁剪所述预裁剪区域制作目标画布。
可选的,所述通过在所述绘画画布上裁剪所述预裁剪区域制作目标画布之前,所述方法还包括:
判断所述预裁剪区域与当前裁剪区域是否一致;
若否,则重置所述绘画画布。
可选的,所述确定绘画画布之前,所述方法还包括:
计算显示屏幕的屏幕大小;
所述确定绘画画布,包括:
根据所述屏幕大小确定绘画画布。
本申请第二方面提供了一种基于android白板防闪烁的装置,包括:
确定/锁定单元,用于确定绘画画布,并锁定电子白板的显示屏幕,所述显示屏幕用于显示画布绘画结果;
获取单元,用于获取悬浮窗的相关数据;
制作单元,用于通过根据所述相关数据裁剪所述绘画画布制作目标画布;
解锁/绘画单元,用于解锁所述显示屏幕,并通过所述目标画布执行绘画功能。
可选的,所述获取单元,包括:
确定/获取模块,用于确定悬浮窗对应的坐标位置,并获取所述悬浮窗对应的悬浮窗轮廓;
确定模块,用于根据所述坐标位置和所述悬浮窗轮廓确定相关数据。
可选的,所述制作单元,包括:
设置模块,用于根据所述相关数据设置在所述绘画画布上的预裁剪区域;
制作模块,用于通过在所述绘画画布上裁剪所述预裁剪区域制作目标画布。
可选的,所述装置还包括:
判断单元,用于判断所述预裁剪区域与当前裁剪区域是否一致;
重置单元,用于当所述判断单元确定所述预裁剪区域与当前裁剪区域不一致时,重置所述绘画画布。
可选的,所述装置还包括:
计算单元,用于计算显示屏幕的屏幕大小;
所述确定/锁定单元,还用于根据所述屏幕大小确定绘画画布。
本申请第三方面提供了一种基于android白板防闪烁的装置,包括:
处理器、存储器、输入输出设备以及总线;所述处理器与所述存储器、输入输出设备以及总线相连。
所述处理器执行如下操作:
确定绘画画布,并锁定电子白板的显示屏幕,所述显示屏幕用于显示画布绘画结果;
获取悬浮窗的相关数据;
通过根据所述相关数据裁剪所述绘画画布制作目标画布;
解锁所述显示屏幕,并通过所述目标画布执行绘画功能。
本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行是执行前述加速方法。
从以上技术中:在使用电子白板绘画之前,先确定绘画画布,并锁定电子白板的显示屏幕,所述显示屏幕用于显示画布绘画结果;再获取悬浮窗的相关数据;进一步的通过根据所述相关数据裁剪所述绘画画布制作目标画布;解锁所述显示屏幕,并通过所述目标画布执行绘画功能。由于电子白板使用根据悬浮窗轮廓制作的目标画布进行绘画,使得当电子白板呈现越过覆盖在白板界面之上的其他悬浮窗控件的书写轨迹不进行显示,避免了出现锯齿效应。
附图说明
图1为基于android白板防闪烁的方法一个实施例流程示意图;
图2为基于android白板防闪烁的方法另一实施例流程示意图;
图3为基于android白板防闪烁的装置一个实施例结构示意图;
图4为基于android白板防闪烁的装置另一实施例结构示意图。
具体实施方式
本申请提供了一种基于android白板防闪烁的方法及其装置,由于电子白板使用根据悬浮窗轮廓制作的目标画布进行绘画,使得当电子白板呈现越过覆盖在白板界面之上的其他悬浮窗控件的书写轨迹不进行显示,避免了出现锯齿效应。
请参阅图1,本申请实施例中基于android白板防闪烁的方法一个实施例包括:
101、确定绘画画布,并锁定电子白板的显示屏幕,显示屏幕用于显示画布绘画结果;
在本实施例中,由于是使用电子白板进行绘画,所以在使用电子白板进行绘画之前,需要确定用于绘画的绘画画布;且由于本实施例的目标画布还未确定,所以在目标画布确定之前,需要锁定显存控件,不让系统主动刷新电子绘画白板,即系统锁定电子白板的显示屏幕,该显示屏幕用于显示画布绘画结果。
102、获取悬浮窗的相关数据;
本实施例中,在电子白板上存在有悬浮窗的同时需要使用电子白板进行绘画的状态下,需要获取悬浮窗的相关数据,该相关数据用于确定对应的悬浮窗位置。当确定悬浮窗的位置之后,根据该悬浮窗的位置确定该悬浮窗在绘画画布上相对应的位置。
103、通过根据相关数据裁剪绘画画布制作目标画布;
在根据该相关数据确定悬浮窗在绘画画布上相对应的位置之后,为了避免在书写轨迹越过该悬浮窗的时候出现锯齿效应,所以本实施例中直接将该对悬浮窗在绘画画布上对应的位置进行裁剪,裁剪后形成的画布作为目标画布。
在对绘画画布进行裁剪的时候可以采用覆盖式方式进行裁剪,其中覆盖式方式为,将该位置的画布进行覆盖,使得该位置不能进行绘画;也可以使用隐藏式方式进行裁剪,即将越过该悬浮窗的书写轨迹直接进行隐藏。
在本实施例中,对绘画画布进行裁剪可以使用覆盖式裁剪方式进行画布裁剪,还可以使用隐藏式方式进行画布裁剪,具体此处不做具体限定。
104、解锁显示屏幕,并通过目标画布执行绘画功能。
当目标画布被确定之后,就可以在白目标画布上进行绘画了,在使用该目标画布进行绘画时,需要将显示屏幕进行解锁,使得在进行绘画的时候可以显示书写轨迹;此时,在电子白板上就可以他用过显示屏幕显示在目标白板上的书写轨迹。
在使用电子白板绘画之前,先确定绘画画布,并锁定电子白板的显示屏幕,显示屏幕用于显示画布绘画结果;再获取悬浮窗的相关数据;进一步的通过根据相关数据裁剪绘画画布制作目标画布;解锁显示屏幕,并通过目标画布执行绘画功能。由于电子白板使用根据悬浮窗轮廓制作的目标画布进行绘画,使得当电子白板呈现越过覆盖在白板界面之上的其他悬浮窗控件的书写轨迹不进行显示,避免了出现锯齿效应。
请参阅图2,本申请实施例中基于android白板防闪烁的方法另一实施例包括:
201、计算显示屏幕的屏幕大小;
为了使得绘画画布的绘画空间尽可能的大,且与显示屏幕相贴合,所以在确定绘画画布之前,先计算电子白板显示屏幕的屏幕大小,具体的:先确定该电子白板显示屏幕的左上角顶点坐标,再确定电子白板显示屏幕的右上角顶点坐标,根据该左上角顶点坐标和右上角顶点坐标确定电子白板显示屏幕的长度;进一步的确定电子白板显示屏幕的左下角顶点坐标;根据左上角顶点坐标和左下角顶点坐标确定电子白板显示屏幕的宽,最后根据该显示屏幕的长和宽确定该显示屏幕的屏幕大小。
在本实施例中,可以根据该左上角顶点坐标和右上角顶点坐标确定电子白板显示屏幕的长度,还可以根据左下角顶点坐标和右下角顶点坐标确定电子白板显示屏幕的长度,具体此处不做具体限定。
在本实施例中,可以根据左上角顶点坐标和左下角顶点坐标确定电子白板显示屏幕的宽,还可以根据根据右上角顶点坐标和右下角顶点坐标确定电子白板显示屏幕的宽,具体此处不做具体限定。
在本实施例中,可以根据该显示屏幕的长和宽确定该显示屏幕的屏幕大小,还可以根据左上角顶点与右下角顶点相连形成的线段和右上角顶点计算该显示屏幕的屏幕大小,具体此处不做具体限定。
202、根据屏幕大小确定绘画画布,并锁定电子白板的显示屏幕,显示屏幕用于显示画布绘画结果;
在确定电子白板显示屏幕的屏幕大小之后,根据该屏幕大小设置该绘画画布的大小与该绘画画布的位置,使得绘画画布与显示屏幕相贴合,且绘画画布使用绘画空间更大化。在本实施例中,确定目标画布之前,为了使得系统不主动刷新电子绘画白板,则进行锁定该显示屏幕,该显示屏幕用于显示画布绘画结果。
203、确定悬浮窗对应的坐标位置,并获取悬浮窗对应的悬浮窗轮廓;
在本实施例中,在电子白板上存在有悬浮窗的同时需要使用电子白板进行绘画的状态下,需要获取悬浮窗对应的位置和该悬浮窗对应的悬浮窗轮廓,具体的:获取悬浮窗在显示屏幕上的所有集合点,选取该所有集合点的中心点做为该悬浮窗的坐标位置,选取该所有集合点的所有边缘点做为悬浮窗轮廓点,根据该悬浮窗的轮廓点确定该悬浮窗对应的悬浮窗轮廓。
204、根据坐标位置和悬浮窗轮廓确定相关数据;
在确定悬浮窗的坐标位置和悬浮窗轮廓之后,将该悬浮窗的坐标位置和悬浮窗轮廓结合确定为悬浮窗的相关数据,该相关数据用于可以形成相对应的悬浮窗区域提供数据依赖基础。
205、根据该相关数据设置在绘画画布上的预裁剪区域;
在本实施例中,当确定相关数据之后,就根据该相关数据确定悬浮窗在绘画画布上相对应的裁剪坐标位置,以及相对应的裁剪轮廓;进一步根据裁剪坐标位置和裁剪轮廓确定在绘画画布上的预裁剪区域。该预裁剪区域用于根据绘画画布制作目标画布提供裁剪数据基础。
206、判断预裁剪区域与当前裁剪区域是否一致;若否,执行步骤207;若是,执行步骤209;
为了使得裁剪效率的提高,则判断预裁剪区域与当前裁剪区域是否一致,当预裁剪区域与当前裁剪区域一致时,则表示该预裁剪区域已被裁剪,此时不需要再次裁剪画布,可直接将当前的画布作为目标画布;当预裁剪区域与当前裁剪区域不一致时,则表示该预裁剪区域未被裁剪,且画布不需要裁剪的部分可能存在已经被裁剪。
207、重置绘画画布;
当确定预裁剪区域未被裁剪,且画布不需要裁剪的部分可能存在已经被才将的状态下,为了确定绘画画布的完整性,则需要对该绘画画布进行重置,使得绘画画布所有的区域都补全。
在本实施例中,重置绘画画布可以为对整张绘画画布进行重置,也可以为仅仅对绘画画布上已经被裁剪的区域进行重置,具体此处不做具体限定。
208、通过在绘画画布上裁剪预裁剪区域制作目标画布;
绘画画布经过重置之后,则是一张完整的绘画画布,此时,在完整的绘画画布上进行对预裁剪区域进行裁剪,进行裁剪后的绘画画布作为目标画布。
在本实施例中,在绘画画布上裁剪预裁剪区域的结果是为了使得在使用电子白板进行绘画时,书写轨迹越过悬浮窗时,在显示屏幕上不显示越过悬浮窗得书写轨迹。
209、解锁显示屏幕,并通过目标画布执行绘画功能。
本实施例中的步骤209与前述实施例中步骤104类似,此处不再赘述。
请参阅图3,本申请实施例中基于android白板防闪烁的装置一个实施例包括:
确定/锁定单元301,用于确定绘画画布,并锁定电子白板的显示屏幕,显示屏幕用于显示画布绘画结果;
获取单元302,用于获取悬浮窗的相关数据;
制作单元303,用于通过根据相关数据裁剪该绘画画布制作目标画布;
解锁/绘画单元304,用于解锁显示屏幕,并通过目标画布执行绘画功能。
本实施例中获取单元302可以包括确定/获取模块3021,确定模块3022。
确定/获取模块3021,用于确定悬浮窗对应的坐标位置,并获取悬浮窗对应的悬浮窗轮廓;
确定模块3022,用于根据坐标位置和悬浮窗轮廓确定相关数据。
本实施例中制作单元303可以包括设置模块3031,制作模块3032。
设置模块3031,用于根据该相关数据设置在绘画画布上的预裁剪区域;
制作模块3032,用于通过在绘画画布上裁剪预裁剪区域制作目标画布。
本实施例中,该装置还可以包括:
判断单元305,用于判断预裁剪区域与当前裁剪区域是否一致;
重置单元306,用于当判断单元305确定预裁剪区域与当前裁剪区域不一致时,重置绘画画布;
解锁/绘画单元304,还用于当判断单元305确定预裁剪区域与当前裁剪区域一致时,解锁显示屏幕,并通过目标画布执行绘画功能。
本实施例中,该装置还包括:
计算单元307,用于计算显示屏幕的屏幕大小;
确定/锁定单元301,还用于根据屏幕大小确定绘画画布。
在本实施例中,计算单元307计算显示屏幕的屏幕大小,并将该屏幕大小发送至确定/锁定单元301,确定/锁定单元301根据屏幕大小确定绘画画布,并锁定电子白板的显示屏幕,显示屏幕用于显示画布绘画结果;在确定绘画画布之后,确定/获取模块3021确定悬浮窗对应的坐标位置,并获取悬浮窗对应的悬浮窗轮廓;继而确定模块3022根据坐标位置和悬浮窗轮廓确定相关数据,并将该相关数据发送给设置模块3031,设置模块3031根据该相关数据设置在绘画画布上的预裁剪区域;在确定预裁剪区域之后,判断单元305判断预裁剪区域与当前裁剪区域是否一致;当判断单元305确定预裁剪区域与当前裁剪区域一致时,解锁/绘画单元304解锁显示屏幕,并通过目标画布执行绘画功能;当判断单元305确定预裁剪区域与当前裁剪区域不一致时,重置单元306重置绘画画布。重置绘画画布之后,制作模块3032通过在绘画画布上裁剪预裁剪区域制作目标画布;最后使用解锁/绘画单元304解锁显示屏幕,并通过目标画布执行绘画功能。
下面对本申请实施例中的基于android白板防闪烁的装置进行详细描述,请参阅图4,本申请实施例中基于android白板防闪烁的装置另一实施例包括:
处理器401、存储器402、输入输出单元403、总线404;
处理器401与存储器402、输入输出单元403以及总线404相连;
处理器401执行如下操作:
确定绘画画布,并锁定电子白板的显示屏幕,该显示屏幕用于显示画布绘画结果;
获取悬浮窗的相关数据;
通过根据相关数据裁剪绘画画布制作目标画布;
解锁显示屏幕,并通过目标画布执行绘画功能。
本实施例中,处理器401的功能与前述图1至图2所示实施例中的步骤,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:输入方法、装置和机器可读介质