一种利用画布绘制弹幕的方法及装置与流程

文档序号:11254392阅读:567来源:国知局
一种利用画布绘制弹幕的方法及装置与流程

本发明涉及图像处理技术领域,尤其涉及一种利用画布绘制弹幕的方法及装置。



背景技术:

canvas是html中的画布元素,canvas既能支持脚本化浏览器端绘图操作,还能够响应用户的操作,如鼠标点击和键盘按键等,并且还能够应用到动画的制作中,绘制2d和3d画面。在浏览器支持方面,只要是支持html5的浏览器均支持canvas。

然而,现有技术在利用canvas绘制弹幕时,采用即时绘制的方式对弹幕进行绘制,以及显示,即,针对某一待显示弹幕字符而言,将该待显示弹幕字符中的字符逐个绘制到弹幕显示区域进行显示,当该待显示弹幕字符中存在重复的字符时,针对重复的字符会进行重复的绘制,当该待显示弹幕字符中存在已不是第一次在该弹幕显示区域中显示的字符时,对字符仍然会重新绘制,从而,采用该方式绘制弹幕当弹幕量较大时,弹幕显示区域将会出现闪烁。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的利用画布绘制弹幕的方法及装置。

本发明实施例提供一种利用画布绘制弹幕的方法,所述方法包括:

获取待显示弹幕字符串;

将所述待显示弹幕字符串分解成单个字符;

依次判断各个字符的字符图像是否存在于预设的字库画布中;

若所述字库画布中存在字符的字符图像,则从所述字库画布中提取出字符的字符图像,若所述字库画布中不存在字符的字符图像,则在所述字库画布中绘制字符的字符图像,并从所述字库画布中提取出绘制好的字符的字符图像;

按照提取先后顺序依次将提取出的字符图像绘制到预设的弹幕对象画布中,对提取出的所有字符图像进行拼接,获得与所述待显示弹幕字符串对应的弹幕图像;

在弹幕显示区域对所述弹幕图像进行显示。

优选的,所述依次判断各个字符的字符图像是否存在于预设的字库画布中,包括:

依次判断各个字符是否存在于弹幕散列表中,所述弹幕散列表用于记录字符以及记录字符图像在所述字库画布中的位置;

其中,当字符存在于所述弹幕散列表中,则表明字符的字符图像存在于所述字库画布中,当字符不存在于所述弹幕散列表中,则表明字符对应的字符图像不存在于所述字库画布中。

优选的,在所述在所述字库画布中绘制字符的字符图像之后,所述方法包括:

将字符保存到所述弹幕散列表中,同时将字符的字符图像在所述字库画布中的位置保存在所述弹幕散列表中。

优选的,所述对在弹幕显示区域对所述弹幕图像进行显示,包括:

将所述弹幕图像绘制到弹幕即时帧画布中;

将所述弹幕即时帧画布中的所述弹幕图像推送到弹幕缓冲画布中进行缓冲;

将所述弹幕缓冲画布中缓冲好的所述弹幕图像渲染到弹幕显示区域内的画面渲染画布中进行显示。

优选的,所述将所述弹幕图像绘制到弹幕即时帧画布中,包括:

将所述弹幕图像放置于所述弹幕显示区域的闲置弹道中;

将所述闲置弹道内的所述弹幕图像绘制到所述弹幕即时帧画布中。

基于同一发明构思,本发明实施例还提供一种利用画布绘制弹幕的装置,所述装置包括:

获取模块,用于获取待显示弹幕字符串;

分解模块,用于将所述待显示弹幕字符串分解成单个字符;

判断模块,用于依次判断各个字符的字符图像是否存在于预设的字库画布中;

提取模块,用于若所述字库画布中存在字符的字符图像,则从所述字库画布中提取出字符的字符图像,若所述字库画布中不存在字符的字符图像,则在所述字库画布中绘制字符的字符图像,并从所述字库画布中提取出绘制好的字符的字符图像;

拼接模块,用于按照提取先后顺序依次将提取出的字符图像绘制到预设的弹幕对象画布中,对提取出的所有字符图像进行拼接,获得与所述待显示弹幕字符串对应的弹幕图像;

显示模块,用于在弹幕显示区域对所述弹幕图像进行显示。

优选的,所述判断模块具体用于:

依次判断各个字符是否存在于弹幕散列表中,所述弹幕散列表用于记录字符以及记录字符图像在所述字库画布中的位置;

其中,当字符存在于所述弹幕散列表中,则表明字符的字符图像存在于所述字库画布中,当字符不存在于所述弹幕散列表中,则表明字符对应的字符图像不存在于所述字库画布中。

优选的,所述装置还包括:

保存模块,用于将字符保存到所述弹幕散列表中,同时将字符的字符图像在所述字库画布中的位置保存在所述弹幕散列表中。

优选的,所述显示模块,包括:

绘制单元,用于将所述弹幕图像绘制到弹幕即时帧画布中;

推送单元,用于将所述弹幕即时帧画布中的所述弹幕图像推送到弹幕缓冲画布中进行缓冲;

渲染单元,用于将所述弹幕缓冲画布中缓冲好的所述弹幕图像渲染到弹幕显示区域内的画面渲染画布中进行显示。

优选的,所述绘制单元,包括:

图形放置子单元,用于将所述弹幕图像放置于所述弹幕显示区域的闲置弹道中;

绘制子单元,用于将所述闲置弹道内的所述弹幕图像绘制到所述弹幕即时帧画布中。

本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:

本发明在获取到待显示弹幕字符串之后,将待显示弹幕字符串分解成单个字符,通过判断各个字符的字符图像是否存在于字库画布,若存在,则直接从字库画布中提取出该字符的字符图像,无需重新绘制,若不存在,则将该字符的字符图像绘制到字库画布中,以实现对该字符的字符图像的缓存,在按照提取先后顺序依次将提取出的字符图像绘制到弹幕对象画布之后,得到与该待显示弹幕字符串对应的弹幕图像,并在弹幕显示区域对该弹幕图像进行显示,从而能够避免当弹幕量大时弹幕显示区域出现闪烁,加快了弹幕的渲染效率。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:

图1示出了本发明实施例中的一种利用画布绘制弹幕的方法的流程图;

图2示出了本发明实施例中的一种利用画布绘制弹幕的装置的结构图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供一种利用画布绘制弹幕的方法,应用于浏览器中,如图1所示,所述方法包括:

步骤101:获取待显示弹幕字符串。

步骤102:将所述待显示弹幕字符串分解成单个字符。

具体来讲,在本申请中,当获取到的待显示弹幕字符串为m时,可以使用m.split(‘’)对待显示弹幕字符串m进行分解,最终将m分解为若干单个字符,分解得到的所有字符构成一个字符数组,该字符数组与待显示弹幕字符串对应。例如,当待显示弹幕字符串为“每个人的直播平台”时,将该待显示弹幕字符串分解后得到字符数组[‘每’,‘个’,‘人’,‘的’,‘直’,‘播’,‘平’,‘台’]。

步骤103:依次判断各个字符的字符图像是否存在于预设的字库层的字库画布中。

步骤104:若所述字库画布中存在字符的字符图像,则从所述字库画布中提取出字符的字符图像,若所述字库画布中不存在字符的字符图像,则在所述字库画布中绘制字符的字符图像,并从所述字库画布中提取出绘制好的字符的字符图像。

在本申请中,针对每个字符而言,若所述字库画布中存在该字符的字符图像,则从所述字库画布中提取出该字符的字符图像,若所述字库画布中不存在该字符的字符图像,则在所述字库画布中绘制该字符的字符图像,并从所述字库画布中提取出绘制好的该字符的字符图像。

在本申请中,预先在浏览器中建立一个字库层,并在该字库层中建立一个隐藏的字库画布(canvas),该字库画布为一个画布对象,对于字库画布的建立可以采用varcanv=document.createelement(‘canvas’);函数,并使用varcontext=canv.getcontext(‘2d’);函数获取字库画布绘制上下文对象。在分解得到单个字符之后,依次对每个字符进行判断,判断该字符的字符图像是否存在于字库画布中,若字库画布中存在该字符的字符图像,则无需将该字符的字符图像重复绘制的字库画布中,直接提取该字符的字符图像,若字库画布中不存在该字符的字符图像,则将该字符的字符图像绘制到字库画布中。

在一种具体的实施方式中,步骤103具体为:依次判断各个字符是否存在于弹幕散列表中,所述弹幕散列表用于记录字符以及记录字符图像在所述字库画布中的位置;其中,当字符存在于所述弹幕散列表中,则表明该字符的字符图像存在于所述字库画布中,当字符不存在于所述弹幕散列表中,则表明该字符对应的字符图像不存在于所述字库画布中。并且,当字符不存在于弹幕散列表中,当在字库画布中绘制该字符的字符图像之后,将该字符保存到弹幕散列表中,同时将该字符的字符图像在字库画布中的位置保存到弹幕散列表中。

在本申请中,在字库层中预先建立一个弹幕散列表,该弹幕散列表可以表示为varrepo={};,该弹幕散列表用于对字符进行记录,以及用于对字符的字符图像在字库画布中的位置进行记录,字符图像在字库画布中的位置可以通过以下方法进行表示:在字库画布中建立包含x轴和y轴的直角坐标系,并利用x轴坐标、y轴坐标和字符宽度对字符图像的位置进行记录,对应地,在代码实现过程中,建立变量endx、endy分别记录字库画布中绘制的最后一个字符结尾处的x轴坐标和y轴坐标,当字库画布中不存在字符图像时,默认endx和endy均为0。

进一步来讲,在判断字符是否存在于弹幕散列表中时,可以采用函数if(!!r[‘字’])。当在弹幕散列表中查找到该字符时,表明字库画布中存在该字符的字符图像,根据弹幕散列表中记录的该字符的字符图像的位置信息,在字库画布中定位该字符的字符图像的位置,并提取出该字符的字符图像。当在弹幕散列表中未查找到该字符时,计算该字符的字符宽度,将该字符的字符图像绘制到字库画布中,同时,将该字符保存到弹幕散列表中,具体地,首先使用代码varw=math.ceil(context.measuretext(‘字’).width);获得字符的字符宽度w,接着使用context.filltext(‘字’,endx,endy);将字符的字符图像绘制到字库画布中,使用endx=endx+w,更新endx,当需要换行时,使用endy=endy+行高;更新endy,同时,将使用repo[‘字’]={x:endx,y:endy,width:w};将字符和字符图像的位置更新到弹幕散列表中。本申请通过弹幕散列表对字符以及字符图像在字库画布中的位置进行记录,便于对字符图像的检索查询。

步骤105:按照提取先后顺序依次将提取出的字符图像绘制到预设的弹幕对象画布中,对提取出的所有字符图像进行拼接,获得与所述待显示弹幕字符串对应的弹幕图像。

在具体实施过程中,本申请预先在浏览器中建立一个弹幕对象缓冲层,并在弹幕对象缓冲层中建立一个预设的弹幕对象画布,一个弹幕对象画布对应于一个待显示弹幕字符串,弹幕对象缓冲层中可以存放多个弹幕对象画布。可以采用vardanmakucanv=document.createelement(‘canvas’);建立弹幕对象画布,并使用vardanmakuctx=danmakucanv.getcontext(‘2d’);获取弹幕对象画布绘制上下文。本申请利用某一画布能够以其他画布作为图像绘制源的特性,在从字库画布中提取出字符图像之后,将字符图像作为图像源,以增量绘制的方式将字符图像绘制到弹幕对象画布中,例如,在字库层中检索到与字符对应的信息为varc={x:10,y:0,w:10},字库画布中的图像源为repocanv,当前时刻弹幕对象画布中最后绘制的x轴坐标为x,则,使用danmakuctx.drawimage(repocanv,x,0,c.w,行高,c.x,c.y,c.w,行高)将提取出的字符图像绘制到弹幕对象画布中,最后更新弹幕对象画布中最后绘制的x轴坐标为,x=x+c.w;。本申请按照提取先后顺序,通过循环上述过程将字符数组中的各个字符的字符图像绘制到弹幕对象画布中,实现了对提取出的所有字符图像的拼接,最终获得与待显示弹幕字符串对应的弹幕图像。

步骤106:在弹幕显示区域对所述弹幕图像进行显示。

在一种具体的实施方式中,步骤106包括:

将所述弹幕图像绘制到弹幕即时帧画布中;

将所述弹幕即时帧画布中的所述弹幕图像推送到弹幕缓冲画布中进行缓冲;

将所述弹幕缓冲画布中缓冲好的所述弹幕图像渲染到弹幕显示区域内的画面渲染画布中进行显示。

具体来件,在本申请中,在浏览器中建立有弹幕即时帧层,弹幕即时帧层中建立有弹幕即时帧画布,在将弹幕图像绘制到弹幕即时帧画布之前,使用varframecanv=document.createelement(‘canvas’);初始化弹幕即时帧画布,使用varframectx=framecanv.getcontext(‘2d’);获取弹幕即时帧画布绘制上下文。当获取的待显示弹幕字符串的数量为一个时,以该待显示弹幕字符串对应的弹幕图像为绘制源,可以先将该弹幕图像放置于弹幕显示区域的闲置弹道中,再将闲置弹道内的弹幕图像绘制到弹幕即时帧画布中。

另外,浏览器中还建立有弹幕画面缓冲画布和画面渲染画布,在将弹幕图像绘制到弹幕即时帧画布中之后,以弹幕即时帧画布中的图像作为绘制源,当有画面从弹幕即时帧画布推送到弹幕缓冲画布时,先使用clearrect(0,0,弹幕区域宽度,弹幕区域高度);函数对弹幕缓冲画布当前画面进行擦除,再使用drawimage(framecanv,0,0);函数进行绘制。在弹幕图像被推送到弹幕缓冲画布中之后,以弹幕缓冲画布为绘制源,将弹幕缓冲画布中缓冲好的弹幕图像渲染到弹幕显示区域内的画面渲染画布中进行显示。

在本申请中,弹幕即时帧画布能够对每一帧需要待显示的弹幕画面进行预绘制,预绘制完成后主动将绘制好的弹幕画面推送到弹幕缓冲画布中进行缓冲,当弹幕画面因浏览器卡顿而出现绘制不完整的情况时,将不会将弹幕画面推送到弹幕缓冲画布中,弹幕缓冲画布中保持原有的弹幕画面,本申请通过弹幕缓冲层能够保证弹幕画面的完整性,此处的画面也即弹幕图像。

需要说明的是,在本申请中,字库画布、弹幕对象画布、弹幕即时帧画布和弹幕缓冲画布均为隐藏的画布,而画面渲染画布为最终显示到屏幕中的弹幕显示区域的可见的画布。本申请中的字库画布用于存储各个单个字符的字符图像,弹幕对象画布用于存储与待显弹幕字符串对应的弹幕图像,弹幕即时帧画布用于存放弹幕画面,弹幕缓冲画布用于对弹幕画面进行缓冲,画面渲染画布用于对弹幕画面进行显示。

在本申请中,当获取的是多个待显示弹幕字符串,且,需要将获取到的多个待显示弹幕字符串在同一时刻下进行显示,则,利用画布绘制弹幕的方法的具体实现过程为:在根据上述实施例分别获得与各个待显示弹幕字符串对应的弹幕图像之后,以各个弹幕图像作为绘制源,将各个弹幕图像放置到闲置弹道中,遍历闲置弹道,将闲置弹道中的弹幕图像分别绘制到弹幕即时帧画布中,从而形成与该时刻对应的一帧弹幕画面。其中,针对弹幕即时帧画布而言,由于弹幕的呈现形式为弹幕动画,因此,可以根据预设弹幕显示时间和预设弹幕显示速度,开启定时器,在定时器中对弹幕即时帧画布进行不断擦除和绘制操作,从而形成弹幕动画,对于定时器的启动,可以采用requestanimationframe()函数启动定时器。进一步,当在弹幕即时帧画布上形成一帧弹幕画面之后,将该帧弹幕画面推送到弹幕缓冲画布中进行缓冲,最后,将弹幕缓冲画布中缓冲好的弹幕画面渲染到弹幕显示区域内的画面渲染画布中进行显示,对于弹幕的动态显示,则可以使用requestanimationframe作为定时器不断地从弹幕缓冲画布提取缓冲好的弹幕画面进行渲染。

下面将结合一具体实施例对本申请的利用画布绘制弹幕的方法进行详细描述:

当获取到第一待显示弹幕字符串为“大家好”、第二待显示弹幕字符串为“二周目”时,针对第一待显示弹幕字符串而言,将第一待显示弹幕字符串分解成单个字符得到第一字符数组[‘大’‘家’‘好’],判断字符‘大’是否存在于弹幕散列表中,若存在,则根据弹幕散列表中记录有的字符‘大’的字符图像在字库画布中的位置,从字库画布中提取出字符‘大’的字符图像,接着,判断字符‘家’是否存在于弹幕散列表中,若存在,则根据弹幕散列表中记录有的字符‘家’的字符图像在字库画布中的位置,从字库画布中提取出字符‘家’的字符图像,接着,判断字符‘好’是否存在于弹幕散列表中,若不存在,则将字符‘好’的字符图像绘制到字库画板中,并将字符‘好’以及字符‘好’的字符图像的位置保存到弹幕散列表中,同时,从字库画布中提取出字符‘好’的字符图像,在提取出各个字符之后,按照提取先后顺序依次将字符‘大’‘家’‘好’的字符图像绘制到弹幕对象画布中,对这三个字符图像进行拼接,获得与第一待显示弹幕字符串对应的第一弹幕图像,同理,采用上述方式可以获得与第二待显示弹幕字符串对应的第二弹幕图像,此处不再赘述,其中,第一弹幕图像对应第一弹幕对象画布,第二图像对应第二弹幕对象画布。在获得第一弹幕图像和第二弹幕图像之后,将第一弹幕图像放置到弹幕显示区域中的第一闲置弹道中,并将第二弹幕图像放置到弹幕显示区域中的第二闲置弹道中,通过遍历第一闲置弹道和第二闲置弹道,将第一弹幕图像和第二弹幕图像绘制到弹幕即时帧画布中,形成一帧弹幕画面,再将该弹幕画面推送到弹幕缓冲画布中进行缓冲,最后将缓冲好的弹幕画面渲染到弹幕显示区域内的画面渲染画布中进行显示。

需要说明的是,在本申请中,通常一个字库画布仅对应一种字体颜色,当需要绘制多种颜色的弹幕时,可以在字库层中建立多个对应于不同颜色的字库画布,以{颜色:字库画布}来建立颜色与字库画布之间的对应关系。例如,在字库层中建立对应于红色的第一字库画布、对应于黑色的第二字库画布以及对应于蓝色的第三字库画布,当同时获取到对应于红色的第一待显示弹幕字符串、对应于黑色的第二待显示弹幕字符串以及对应于蓝色的第三待显示弹幕字符串时,从而,针对第一待显示弹幕字符串而言,在生成与第一待显示弹幕字符串对应的第一弹幕图像的过程中,在第一字库画布中对第一待显示弹幕字符串中的各个字符的字符图像进行查找,针对第一字符画布中未存在的字符,将该字符的字符图像绘制到第一字库画布中,同理在第二字库画布中对第二待显示弹幕字符串中的各个字符的字符图像进行查找,针对第二字符画布中未存在的字符,将该字符的字符图像绘制到第二字库画布中,同理在第三字库画布中对第三待显示弹幕字符串中的各个字符的字符图像进行查找,针对第三字符画布中未存在的字符,将该字符的字符图像绘制到第三字库画布中。

基于同一发明构思,本发明实施例还提供一种利用画布绘制弹幕的装置,如图2所示,所述装置包括:

获取模块201,用于获取待显示弹幕字符串;

分解模块202,用于将所述待显示弹幕字符串分解成单个字符;

判断模块203,用于依次判断各个字符的字符图像是否存在于预设的字库画布中;

提取模块204,用于若所述字库画布中存在字符的字符图像,则从所述字库画布中提取出字符的字符图像,若所述字库画布中不存在字符的字符图像,则在所述字库画布中绘制字符的字符图像,并从所述字库画布中提取出绘制好的字符的字符图像;

拼接模块205,用于按照提取先后顺序依次将提取出的字符图像绘制到预设的弹幕对象画布中,对提取出的所有字符图像进行拼接,获得与所述待显示弹幕字符串对应的弹幕图像;

显示模块206,用于在弹幕显示区域对所述弹幕图像进行显示。

优选的,判断模块203具体用于:

依次判断各个字符是否存在于弹幕散列表中,所述弹幕散列表用于记录字符以及记录字符图像在所述字库画布中的位置;

其中,当字符存在于所述弹幕散列表中,则表明字符的字符图像存在于所述字库画布中,当字符不存在于所述弹幕散列表中,则表明字符对应的字符图像不存在于所述字库画布中。

优选的,所述装置还包括:

保存模块,用于将字符保存到所述弹幕散列表中,同时将字符的字符图像在所述字库画布中的位置保存在所述弹幕散列表中。

优选的,显示模块206,包括:

绘制单元,用于将所述弹幕图像绘制到弹幕即时帧画布中;

推送单元,用于将所述弹幕即时帧画布中的所述弹幕图像推送到弹幕缓冲画布中进行缓冲;

渲染单元,用于将所述弹幕缓冲画布中缓冲好的所述弹幕图像渲染到弹幕显示区域内的画面渲染画布中进行显示。

优选的,所述绘制单元,包括:

图形放置子单元,用于将所述弹幕图像放置于所述弹幕显示区域的闲置弹道中;

绘制子单元,用于将所述闲置弹道内的所述弹幕图像绘制到所述弹幕即时帧画布中。

上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:

本发明在获取到待显示弹幕字符串之后,将待显示弹幕字符串分解成单个字符,通过判断各个字符的字符图像是否存在于字库画布,若存在,则直接从字库画布中提取出该字符的字符图像,无需重新绘制,若不存在,则将该字符的字符图像绘制到字库画布中,以实现对该字符的字符图像的缓存,在按照提取先后顺序依次将提取出的字符图像绘制到弹幕对象画布之后,得到与该待显示弹幕字符串对应的弹幕图像,并在弹幕显示区域对该弹幕图像进行显示,从而能够避免当弹幕量大时弹幕显示区域出现闪烁,加快了弹幕的渲染效率。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的利用画布绘制弹幕的装置,中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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