一种滚动显示字符串的方法

文档序号:2570147阅读:387来源:国知局
专利名称:一种滚动显示字符串的方法
技术领域
本发明涉及一种字符串的显示方法,具体地说,是涉及一种滚动显示字符串的方法。
背景技术
为提高字符串的动态显示效果、提高显示屏的利用率,经常需要在显示屏上滚动 显示字符串。现有技术在滚动显示字符串时,首先需要清空显示屏上的滚动显示区域,然后 调用字库、查找要显示的字符串中的字符,将其刷新到滚动显示区域,然后字符串指针偏移 到下一个字符。在当前屏显示完毕后,再次清空滚动显示区域,然后调用字库、查找下一屏 要显示的字符,并将其刷新到滚动显示区域。当指针指向字符串尾部时,重新将指针赋值为 字符串头部,实现字符串的循环滚动显示。 在上述滚动显示字符串的过程中,是以字符为单位进行滚动显示,需要频繁地清 空滚动显示区域、从字库中查找字符串中的字符并刷新至滚动显示区域,因此,会占用大量 的系统内存和CPU资源,增加了系统负载,导致整个系统响应速度下降,尤其是在系统资源 相对紧张的嵌入式系统中,其影响更为明显。

发明内容
本发明针对现有技术中滚动显示字符串需要占用大量的系统内存和CPU资源、导 致系统响应速度下降的技术问题,提供了一种滚动显示字符串的方法,通过在系统内部建 立缓冲区,存储滚动显示的字符串,每次刷新字符时仅对缓冲区进行操作,减少了对系统内 存和CPU的占用,提高了系统整体的响应速度。 为解决上述技术问题,本发明采用以下技术方案予以实现
—种滚动显示字符串的方法,包括下述步骤
建立缓冲区; 将滚动显示的字符串写入至所述缓冲区中; 从所述缓冲区读取字符,刷新到滚动显示区域进行显示。 根据本发明,为尽量节省内存空间,在建立缓冲区之前,首先获取滚动显示区域的 显示字号及滚动显示的字符串,计算在所述显示字号下对应的字符串像素的宽度值和高度 值,然后根据所述宽度值和所述高度值建立缓冲区。 根据本发明,为避免频繁地执行清空滚动显示区域的操作,将显示字号下对应的 字符串像素写入至所述缓冲区中,然后从所述缓冲区中读取包含字符像素的、与滚动显示 区域大小相适应的字符像素区域刷新到滚动显示区域进行显示。 根据本发明,从所述缓冲区读取一块字符像素区域刷新到滚动显示区域后,缓冲 区内的读取指针向后移动指定偏移量。 其中,所述偏移量可以根据字符串中字符的像素确定。 根据本发明,为实现字符串的循环滚动显示,在所述缓冲区内的读取指针移动到
3缓冲区尾部时,将读取指针重新赋值为缓冲区头部。 根据本发明,滚动显示字符串的方法还包括在停止滚动显示时释放所建立的缓冲区的步骤。 与现有技术相比,本发明的优点和积极效果是 1、本发明通过在系统内部建立缓冲区,存储滚动显示的字符串,每次刷新字符时仅对缓冲区进行操作,而不必像现有技术那样针对每一个要刷新的字符均调用内存字库进行查询,从而有效减少了滚动显示对系统内存和CPU的占用,减轻整个系统的负载,提高了系统整体响应速度。 2、本发明通过从所述缓冲区中读取包含字符像素的、与滚动显示区域大小相适应的字符像素区域直接刷新到滚动显示区域进行显示,所读取的字符像素区域能够完全覆盖整个滚动显示区域,用新读取的字符像素区域直接替换前次滚动显示区域显示的内容,从而避免了现有技术在每次刷新字符前执行清空滚动显示区域的操作步骤,减少了对系统CPU资源的占用,縮短了滚动显示的刷新时间,提高了系统整体性能。


图1是本发明所述滚动显示字符串一个实施例的流程图。
具体实施例方式
下面结合附图对本发明作进一步详细的说明。 本发明以现有技术实现字符串滚动显示所引起的资源占用为出发点,重新考量滚动的实现方法,提供了一种滚动显示字符串的方法,具体为首先在内存中创建一个缓冲区,然后将滚动显示的字符串写入至所述缓冲区中;在执行滚动显示时,直接从所述缓冲区中读取字符并刷新到滚动显示区域,且以后每次刷新字符时仅对缓冲区进行操作即可;在停止滚动显示时,释放所创建的缓冲区,回归系统资源。本发明通过在内存中建立缓冲区,将需要滚动显示的字符串一次性全部写入至所述缓冲区中,以后每次刷新字符只对该缓冲区进行操作,避免了以往方法中需要频繁调用字库进行查询的操作,减少了对系统内存及CPU资源的占用。 图1示出了本发明所述滚动显示字符串一个实施例的流程图。由于现有技术在滚动显示字符串时,每次字符刷新之前均需要清空滚动显示屏、以避免前后字符重叠导致显示错误,因而占用CPU资源,且延长了滚动显示的刷新时间。该实施例在缓冲区实现滚动显示字符串的基础上,同时提出了解决上述问题的技术方案,具体实现步骤如下
S101 :流程开始。
S102 :获取滚动显示区域的大小,该滚动显示区域是滚动效果频繁刷新的一块显
示区域。同时,获取该滚动显示区域显示字体的属性,主要是显示字体的字号,字号的大小
决定了字符串的宽度和高度。
S103 :获取需滚动显示的字符串。
S104 :计算字符串在所述字号下对应的像素的宽度值和高度值。 S105:根据上述计算的宽度值和高度值建立缓冲区,保证缓冲区既能存放所有滚动显示的字符串,又不至于浪费内存空间。
S106 :将显示字号下对应的需滚动显示的字符串写入至缓冲区中。 上述各步骤主要完成滚动显示前的准备工作,准备工作完成,后续滚动显示过程
只针对缓冲区进行操作即可。 S107:在准备工作的基础上,从缓冲区头部开始,读取缓冲区中的字符像素区域,
刷新到滚动显示区域,其中,所述字符像素区域是包含需显示的字符像素的、与滚动显示区
域大小相适应的一块区域。由于在上述准备工作各步骤中所建立的缓冲区相当于一块显示
区域,在该区域内显示全部的需滚动显示的字符串,在刷新滚动显示区域时,直接从缓冲区
中读取一块字符像素区域,完全覆盖整个滚动显示区域,用新读取的字符像素区域直接替
换前次滚动显示区域显示的内容,不会出现字符重叠的问题,因此,在刷新之前不再需要清
空滚动显示区域,减少了对CPU资源的占用,縮短了滚动显示的刷新时间。
S108 :读取完一块字符像素区域后,缓冲区内的读取指针向后移动指定偏移量。其
中,所述偏移量可以根据字符串中字符的像素来确定,例如,可以定义偏移量为一个显示字
号下一个字符像素的宽度。 S109 :判断读取指针是否移动到缓冲区尾部。若是,执行步骤S110 ;否则,转至步
骤S107,继续读取字符像素区域并刷新到滚动显示区域,实现字符串的滚动显示。 S110 :在读取指针已移动到缓冲区尾部时,重新赋值读取指针为缓冲区头部,读取
指针重新指向缓冲区头部位置。 Slll :判断是否停止滚动显示。若停止滚动显示,执行步骤S112 ;如果不停止滚动 显示,则转至步骤S107,从缓冲区头部重新读取字符像素区域进行显示,实现字符串的循环 滚动显示。
S112 :若系统停止滚动显示字符串,则释放建立的缓冲区,回归系统资源,完成滚
动显示字符串的整个操作过程。 S113:流程结束。 上述实施例通过采用建立缓冲区、以缓冲区内的字符像素区域为读取单元实现字 符串的滚动显示,代替了现有技术需要频繁执行清空显示区域、调用字库查找字符并刷新 到滚动显示区域的过程。经测试比对,该实施例所述的方法能够极大地减少对系统内存和 CPU资源的占用,且縮短了占用的时间,从而减轻了整个系统的负载,提高了系统整体的响 应速度。 当然,以上所述仅是本发明的一种优选实施方式而已,应当指出,对于本技术领域 的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改 进和润饰也应视为本发明的保护范围。
权利要求
一种滚动显示字符串的方法,其特征在于,包括下述步骤建立缓冲区;将滚动显示的字符串写入至所述缓冲区中;从所述缓冲区读取字符,刷新到滚动显示区域进行显示。
2. 根据权利要求1所述的滚动显示字符串的方法,其特征在于,在建立缓冲区之前,首 先获取滚动显示区域的显示字号及滚动显示的字符串,计算在所述显示字号下对应的字符 串像素的宽度值和高度值,然后根据所述宽度值和所述高度值建立缓冲区。
3. 根据权利要求2所述的滚动显示字符串的方法,其特征在于,将显示字号下对应的 字符串像素写入至所述缓冲区中。
4. 根据权利要求3所述的滚动显示字符串的方法,其特征在于,从所述缓冲区中读取包含字符像素的、与滚动显示区域大小相适应的字符像素区域刷新到滚动显示区域进行显 示。
5. 根据权利要求4所述的滚动显示字符串的方法,其特征在于,从所述缓冲区读取一 块字符像素区域刷新到滚动显示区域后,缓冲区内的读取指针向后移动指定偏移量。
6. 根据权利要求5所述的滚动显示字符串的方法,其特征在于,所述偏移量根据字符 串中字符的像素确定。
7. 根据权利要求6所述的滚动显示字符串的方法,其特征在于,在所述缓冲区内的读 取指针移动到缓冲区尾部时,将读取指针重新赋值为缓冲区头部。
8. 根据权利要求1至7中任一项所述的滚动显示字符串的方法,其特征在于,滚动显示 字符串的方法还包括在停止滚动显示时释放所建立的缓冲区的步骤。
全文摘要
本发明公开了一种滚动显示字符串的方法,包括下述步骤建立缓冲区;将滚动显示的字符串写入至所述缓冲区中;从所述缓冲区读取字符,刷新到滚动显示区域进行显示。本发明通过在系统内部建立缓冲区,存储滚动显示的字符串,每次刷新字符时仅对缓冲区进行操作,减少了对系统内存和CPU的占用,提高了系统整体的响应速度。
文档编号G09G5/30GK101727882SQ200910231178
公开日2010年6月9日 申请日期2009年12月7日 优先权日2009年12月7日
发明者柳玉琨 申请人:青岛海信宽带多媒体技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1