嵌入式浏览器中实现跑马灯效果的方法技术

技术编号:3975824 阅读:639 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种在嵌入式浏览器中,CPU占用资源小且能够承载多种滚动内容形式的跑马灯效果的实现方法。嵌入式浏览器中实现跑马灯效果的方法,采用由图形引擎通过窗口控件生成的子窗口作为marquee窗口,将待滚动的内容作为子窗口的内置页面,除能正常显示文字、图片等内容外,还可对HTML代码段进行CSS解析,从而实现对HTML代码段的显示。无需待滚动内容的长度多大,子窗口仅对其可视区域的内置页面部分(进入该子窗口的内置页面部分)进行解析、显示,避免出现因待滚动内容长度过大而造成占用CPU资源过大,程序响应缓慢的问题。

【技术实现步骤摘要】

本专利技术涉及内容显示领域。
技术介绍
跑马灯效果,也称滚动字幕效果。实际上可滚动的内容除了字幕外,包括图片、表 格等很多种。实现跑马灯效果有几种方法,而HTML(超文本标记语言)中的marquee(会 移动的文字)标签,是其中最便捷的方式。目前,marquee标签被广泛应用于IPTV(网络电 视)领域的EPG(电子节目指南)制作当中,是主流的制作技术之一。该marquee标签包含众多属性,主要有滚动方向(direction)包括向左/向右/向上/向下(left/right/up/down);滚动速度(scrollamount)实际上是设定滚动字幕滚动一次的距离;iM^TlA (bihavior) ^ scroll/slide/alternate, scroll^ 滚动至另一端;slide表示只滚动一次,由一端滚动至另一端;alternate表示在两端反复 来回滚动;循环(loop)包括infinite/num。infinite = _1,都表示无限次滚动;num等于 几,就表示循环几次;延时(scrolldelay)设定两次滚动之间的延迟时间;背景色(bgcolor)设定滚动内容的背景颜色;高度(height)设定滚动内容的高度;宽度(width)设定滚动内容的宽度;空白(hspace/vspace)设定滚动内容左右边框和上下边框的宽度。marquee标签嵌入在HTML语言中使用,用法如下<html><body>〈marquee width =” 300” height =” 100” direction =”left”>;欢迎大家来到四川</marquee></body></html>通过以上代码将会形成一个宽度为300,高度为100的矩形区域(marquee窗口 ), “欢迎大家来到四川”几个字将会在这个marquee窗口从右至左的不断循环滚动。在该marquee窗口中实现内容滚动现有两种方式,一种是将滚动内容的显示位置 信息在固定的矩形区域中递增或递减来实现滚动效果,但此方法仅适用于单纯的文字,无 法实现一段HTML代码段的滚动效果,因为HTML代码段不是直接可供显示的内容,需要先经 过浏览器结合其上下文进行HTML/CSS等解析,才能形成滚动的显示内容;另一种是将滚动内容的最终显示数据形成位图,动态更改位图的显示位置来形成滚动效果,此方法下,一旦滚动内容长度较长,则会造成CPU占用过大,程序响应速度缓慢的问题。
技术实现思路
本专利技术所要解决的技术问题是,提供一种在嵌入式浏览器中,CPU占用资源小且能够承载多种滚动内容形式的跑马灯效果的实现方法。本专利技术为所要解决的技术问题所采用的技术方案是,嵌入式浏览器中实现跑马灯 效果的方法,包括以下步骤a、在主页面中设置由图形引擎通过窗口控件生成的子窗口,子窗口的尺寸和 marquee窗口的尺寸相同;b、将待滚动内容作为子窗口的内置页面的一部分,该内置页面对应一个marquee 标签,设置内置页面中该marquee标签的滚动方向、滚动形式、滚动速度;C、沿滚动方向在待滚动内容的两端分别添加一个与子窗口高度相同、宽度相同的 空白区域;所述空白区域由滚动目标端空白区域、滚动起始端空白区域组成;待滚动内容 与滚动目标端空白区域、滚动起始端空白区域共同构成子窗口的内置页面;d、将滚动起始端空白区域作为子窗口的起始显示部分;e、设置定时器,定时向子窗口发送滚动消息,使得子窗口的内置页面的内容向设 定的滚动方向滚动; f、对进入子窗口的内置页面部分进行解析、显示。采用由图形引擎通过窗口控件生成的子窗口作为marquee窗口,将待滚动的内容 作为子窗口的内置页面,除能正常显示文字、图片等内容外,还可对HTML代码段进行CSS解 析,从而实现对HTML代码段的显示。无需待滚动内容的长度多大,子窗口仅对其可视区域 的内置页面部分(进入该子窗口的内置页面部分)进行解析、显示,避免出现因待滚动内容 长度过大而造成占用CPU资源过大,程序响应缓慢的问题。具体的,当滚动方向设为向左,则在待滚动内容的左右两端分别添加一个与子窗 口高度相同、宽度相同的空白区域,待滚动内容的右端空白区域作为滚动目标端空白区域、 待滚动内容的左端空白区域作为滚动起始端空白区域;当滚动方向设为向右,则在待滚动内容的左右两端分别添加一个与子窗口高度相 同、宽度相同的空白区域,待滚动内容的左端空白区域作为滚动目标端空白区域、待滚动内 容的右端空白区域作为滚动起始端空白区域;当滚动方向设为向上,则在待滚动内容的上下两端分别添加一个与子窗口高度相 同、宽度相同的空白区域,待滚动内容的下端空白区域作为滚动目标端空白区域、待滚动内 容的上端空白区域作为滚动起始端空白区域;当滚动方向设为向下,则在待滚动内容的上下两端分别添加一个与子窗口高度相 同、宽度相同的空白区域,待滚动内容的上端空白区域作为滚动目标端空白区域、待滚动内 容的下端空白区域作为滚动起始端空白区域。具体的,步骤b中对marquee标签的设置还包括文本颜色、背景颜色、循环、延时、高度、宽度、空白。进一步的,当显示2组以上的待滚动内容,每组待滚动内容对应创建一个子窗口,为每一个子窗口分配一个marquee标签。等待所有子窗口中需显示带滚动内容的都准备好 了以后,统一刷新。本专利技术的有益效果是,不受待滚动内容类别的限制,支持常见的内容滚动效果,不 过多占用CPU资源,保证嵌入式浏览器的工作性能。附图说明图1为滚动方向为向左时, 且置页面仅有1个marquee标签时,滚动开始时的初始 状态示意图,图中粗线框表示为子窗口 ;图2为滚动方向为向左时,且置页面仅有1个marquee标签时,滚动进行时的状态 示意图,图中粗线框表示为子窗口 ;图3为滚动方向为向左时,且置页面仅有1个marquee标签时,一次滚动完成时的 状态示意图,图中粗线框表示为子窗口 ;图4滚动方向为向上时,内置页面仅有1个marquee标签时的示意图。 具体实施例方式将marquee窗口作为主页面的子窗口参与排版,在图形引擎中建立窗口控件,将 待动内容形成一个内置页面,呈现在该子窗口控件中,注册回调函数,并通过定时器,定时 向marquee窗口发送滚动消息,实现自动滚屏。生成内置页面的方式,使得滚动内容不受限制,可以是文字、表格、图片,也可以是 任何一段代码所呈现出来的效果。内容自动滚动的实现将待滚动内容形成一个内置页面呈现在marquee窗口中。记录marquee窗口建立 时分配的句柄,设定定时器,定时向该窗口句柄发送滚动消息。为应对同一页面内存在多个marquee的情况,marquee窗口的句柄保存在该窗口 构件相对应的数据结构中。子窗口的生成和管理据滚动方向不同,内置页面的生成也不同,主要表现在待滚动内容两端的空白区 域上。以滚动方向为水平向左为例,则以marquee窗口的高度为高度,以marquee窗口的宽 度为宽度,形成左右端两个空白区域,拼接在待滚动内容左右。子窗口滚动前呈现的初始状 态,即为左端空白区域,如图1所示;当子窗口收到滚动消息,内置页面开始滚动时,待滚动 内容从子窗口右侧进入,向左滚动,即形成预期的滚动效本文档来自技高网
...

【技术保护点】
嵌入式浏览器中实现跑马灯效果的方法,其特征在于,包括以下步骤:a、在主页面中设置由图形引擎通过窗口控件生成的子窗口,子窗口的尺寸和marquee窗口的尺寸相同;b、将待滚动内容作为子窗口的内置页面的一部分,该内置页面对应一个marquee标签,设置内置页面中该marquee标签的滚动方向、滚动形式、滚动速度;c、沿滚动方向在待滚动内容的两端分别添加一个与子窗口高度相同、宽度相同的空白区域;所述空白区域由滚动目标端空白区域、滚动起始端空白区域组成;待滚动内容与滚动目标端空白区域、滚动起始端空白区域共同构成子窗口的内置页面;d、将滚动起始端空白区域作为子窗口的起始显示部分;e、设置定时器,定时向子窗口发送滚动消息,使得子窗口的内置页面的内容向设定的滚动方向滚动;f、对进入子窗口的内置页面部分进行解析、显示。

【技术特征摘要】

【专利技术属性】
技术研发人员:邵巍
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:51[中国|四川]

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

1