[发明专利]在图形界面上显示文字的方法和系统有效
申请号: | 200910036570.5 | 申请日: | 2009-01-12 |
公开(公告)号: | CN101483035A | 公开(公告)日: | 2009-07-15 |
发明(设计)人: | 王彭城;汤闻 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G09G5/22 | 分类号: | G09G5/22;G06F3/048 |
代理公司: | 广州华进联合专利商标代理有限公司 | 代理人: | 曾旻辉 |
地址: | 518044广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图形界面 显示 文字 方法 系统 | ||
【技术领域】
本发明涉及计算机技术领域,尤其是计算机技术中在图形界面上显示文字的方法和系统。
【背景技术】
计算机中图形界面的使用大大提高了人们在操作计算机时的交互性。在图形界面中,除了图形本身外,通常也需要在图形上显示文字,以表达无法或很难用图形表示的意思。例如在游戏平台的界面中显示各个用户的用户名就需要在图形界面中显示文字。
传统的图形界面中显示文字需要依赖字库,图形界面启动时,会加载对应的字库,把字库纹理保存在内存中。通常,一个字库就是一个位图文件,位图中保存着字库中文字的纹理。当需要绘制某个字时(假设是字“腾”),就会根据“腾”字的字符编码,转换为对应一个坐标,该坐标就是“腾”字在位图里面的坐标,然后引擎会根据该坐标从字库的纹理取出“腾”字的纹理,然后将该纹理绘制在屏幕上,这样就在屏幕上写了一个“腾”字,实现了在图形界面上显示文字。
由于在图形界面中显示文字需要依赖字库,一个字库文件通常都会好几兆,而且字体越大,相应的位图也越大,字库文件也就越大,导致采用图形界面的软件占用存储空间较大。又因为是从字库文件里面取纹理进行写字,所以字库文件里面的字体和字号决定了能绘制的字体和字号,需要绘制几种字体和字号,就需带上对应的几个字库文件,导致可使用的字体和字号数量有限。并且,在启动时需要加载字库,字库文件多而且较大的话,会对启动速度造成影响,而通常在一次使用中不会写很多不同字,所以字库文件里面的大部分纹理都没用到,造成了内存的浪费。
【发明内容】
有鉴于此,有必要提供一种提高启动速度的在图形界面上显示文字的方法。
此外,还提供了一种提高启动速度的在图形界面上显示文字的系统。
一种在图形界面上显示文字的方法,包括以下步骤:接收需要显示的字符编码及字体信息;查找该字符编码对应的元素;创建与该元素对应的对象;依据所述字体信息写字获得纹理,将所述的纹理赋给所述对象;将所述纹理绘制到屏幕上。
一种在图形界面上显示文字的系统,包括:
输入模块,用于接收需要显示的字符编码及字体信息;
存储模块,用于存储与所述字符编码对应的元素;
处理模块,与所述输入模块及存储模块相连,用于根据所述字符编码及字体信息在图形界面上显示文字,所述处理模块包括:
对象创建单元,用于创建与所述元素对应的对象;
图形设备接口单元,用于依据所述字体信息写字获得纹理并将所述的纹理赋给所述对象;
绘制单元,用于将所述纹理绘制到屏幕上。
上述在图形界面上显示文字的方法和系统中,根据字体信息写字获得纹理,通常,操作系统自带有一些字体,根据这些字体再写字获得纹理,将纹理绘制到屏幕上进行显示,不需要加载字库,可以提高启动速度。
【附图说明】
图1为第一实施方式的在图形界面上显示文字的方法的流程图;
图2为第二实施方式的在图形界面上显示文字的方法的流程图;
图3为在图形界面上显示文字的系统的模块图。
【具体实施方式】
在以下实施方式中,根据字体信息写字获得纹理,通常,操作系统自带有一些字体,根据这些字体再写字获得纹理,将纹理绘制到屏幕上进行显示,不需要加载字库,可以提高启动速度。
一种在图形界面上显示文字的方法,如图1所示:
步骤S102,接收需要显示的字符编码及字体信息。需要在图形界面上显示的文字在计算机内是以字符编码的形式进行传输和存储的,在将其显示到图形界面上之前需要根据该文字的字体信息生成纹理,即与字体大小对应的位图,便于在图形界面上显示。字体信息可以是默认的字体信息,也可以用户自定义的字体信息。
步骤S104,查找该字符编码对应的元素。本实施方式中,字符编码采用统一码(UNICODE)。因为每个UNICODE字符编码占用的是16位,所以可以将一个UNICODE字符编码的高8位区域的值对应到数组的0~255行,低8位区域的值可以对应到数组的0~255列,这样,每个UNICODE字符都可以唯一对应到数组的某个元素。当接收到一个需要显示的UNICODE字符时(假设为“腾”),“腾”字对应的UNICODE编码为0X817E,其高8位转为十进制是129,低8位转为十进制是126,所以“腾”字就对应上面数组的第129行第126列元素(下面称为A元素)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910036570.5/2.html,转载请声明来源钻瓜专利网。