一种渲染文字的方法、装置及电子设备制造方法及图纸

技术编号:14005005 阅读:68 留言:0更新日期:2016-11-16 19:27
本发明专利技术的实施例公开一种渲染文字的方法、装置及电子设备,涉及信息展示技术,能够提升窗体中展示的文字的渲染效果,提高文字的辨认度。所述方法包括:创建一空白设备无关位图,在创建的所述空白设备无关位图中绘制待渲染文字,得到文字位图;获取所述文字位图的颜色平均值;依据所述颜色平均值以及所述文字位图的颜色当前值,计算所述待渲染文字的颜色渲染值;依据所述颜色平均值设置所述待渲染文字的透明度;利用所述待渲染文字的透明度以及所述颜色渲染值,对所述待渲染文字进行渲染。本发明专利技术适用于在透明窗体中展示文字。

【技术实现步骤摘要】

本专利技术涉及信息展示技术,尤其涉及一种渲染文字的方法、装置及电子设备
技术介绍
随着计算机通信以及互联网技术的不断发展,电子设备,例如,智能移动电话、个人数字助理、掌上电脑、笔记本电脑等应用越来越广泛。需要在电子屏幕上呈现的内容也越来越丰富,例如,呈现电子设备中安装的各应用程序(APP,Application)图标、文本、设置的提示信息文本以及便签等,极大地满足了不同用户的个性化需求。目前,呈现在电子设备屏幕(窗体)中的文字,一般采用图形设备接口(GDI,Graphics Device Interface)或GDI+进行绘制,在完成文字的绘制后,操作系统依据文字所在窗体的背景颜色,对GDI绘制的文字边缘的颜色进行渲染,然后,将经过渲染的文字呈现在窗体。其中,GDI是负责操作系统与绘图应用程序之间的信息交换,处理所有绘图应用程序的图形输出,在Windows操作系统下,用户可以利用GDI提供的相关函数,方便地在屏幕、打印机及其它输出设备上输出图形以及文本(文字)等操作。但该渲染文字的方法,由于通过GDI绘制的文字是与设备相关的,使得操作系统在对通过GDI函数绘制的文字的边缘进行渲染时,被渲染的文字的颜色需要依据文字所在窗体(区域)的背景颜色进行计算得到。这样,被渲染文字的颜色可能与该文字所在窗体的背景颜色相同或相近似,导致在窗体中呈现的文字较为模糊,不易辨认,渲染效果差。例如,在透明窗体、窗体的背景颜色为白色的情形下,如果绘制的文字颜色为白色,则通过操作系统的渲染,文字边缘的颜色被渲染成与窗体的白色背景颜色相似的颜色,使得该文字在透明窗体下,字体较为模糊、不易辨认,降低了用户浏览窗体的应用体验。
技术实现思路
有鉴于此,本专利技术实施例提供一种渲染文字的方法、装置及电子设备,能够提升窗体中展示的文字的渲染效果,提高文字的辨认度,以解决现有的渲染文字的方法被渲染文字的颜色与窗体的背景颜色相同或相近似,导致在窗体中呈现的文字不易辨认,渲染效果差的问题。第一方面,本专利技术实施例提供一种渲染文字的方法,包括:创建一空白设备无关位图,在创建的所述空白设备无关位图中绘制待渲染文字,得到文字位图;获取所述文字位图的颜色平均值;依据所述颜色平均值以及所述文字位图的颜色当前值,计算所述待渲染文字的颜色渲染值;依据所述颜色平均值设置所述待渲染文字的透明度;利用所述待渲染文字的透明度以及所述颜色渲染值,对所述待渲染文字进行渲染。结合第一方面,在第一方面的第一种实施方式中,所述获取所述文字位图的颜色平均值包括:获取所述文字位图包含的像素点行数以及像素点列数;遍历所述文字位图包含的每一像素点,提取所述每一像素点的的像素值并进行累加;计算累加的像素值的和值与像素点总数的比值,得到所述文字位图的颜色平均值,其中,所述像素点总数为所述像素点行数与所述像素点列数的乘积。结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,利用下式计算所述颜色平均值: T h i s A = Σ k = 1 K Σ l = L Σ i = 1 n Y l k i n * K * L ]]>式中,ThisA为颜色平均值;K为文字位图包含的像素点列数;L为文字位图包含的像素点行数;n为组成像素点颜色的原色数;Ylki为文字位图中的第l行k列的像素点第i原色的像素值。结合第一方面、第一方面的第一种或第二种实施方式,在第一方面的第三种实施方式中,所述依据所述颜色平均值以及所述文字位图的颜色当前值,计算所述待渲染文字的颜色渲染值包括:选取所述文字位图中的一像素点,分别获取选取的像素点的当前红颜色像素值、当前绿颜色像素值以及当前蓝颜色像素值;依次将所述当前红颜色像素值与所述颜色平均值、所述当前绿颜色像素值与所述颜色平均值,以及,所述当前蓝颜色像素值与所述颜色平均值应用于预先设置的颜色渲染公式,得到所述待渲染文字的相应红颜色像素渲染值、绿颜色像素渲染值以及蓝颜色像素渲染值。结合第一方面、第一方面的第一种或第二种实施方式,在第一方面的第四种实施方式中,利用如下公式计算所述颜色渲染值: ThisC l k i = T h i s A * Y l k i N ]]>式中,ThisClki为文字位图中的第l行k列的像素点第i原色的颜色渲染值;N为预先设置的常数。结合第一方面、第一方面的第一种或第二种实施方式,在第一方面的第五种实施方式中,所述方法还包括:将渲染后的所述待渲染文字呈现在窗体中。第二方面,本专利技术实施例提供一种渲染文字的装置,包括:设备无关位图创建模块、颜色获取模块、渲染值计算模块、透明度设置模块以及渲染模块,其中,设备无关位图创建模块,用于创建一空白设备无关位图,在创建的所述空白设备无关位图中绘制待渲染文字,得到文字位图;颜色获取模块,用于获取所述文字位图的颜色平均值;渲染值计算模块,用于依据所述颜色平均值以及所述文字位图的颜色当前值,计算所述待渲染文字的颜色渲染值;透明度设置模块,用于依据所述颜色平均值设置所述待渲染文字的透明度;渲染模块,用于利用所述待渲染文字的透明度以及所述颜色渲染值,对所述待渲染文字进行渲染。结合第二方面,在第二方面的第一种实施方式中,所述颜色获取模块包括:像素数获取单元、遍历单元以及颜色平均值计算单元,其中,像素数获取单元,用于获取所述文字位图包含的像素点行数以及像素点列数;遍历单元,用于遍历所述文字位图包含的每一像素点,提取所述每一像素点的的像素值并进行累加;颜色平均值计算单元,用于计算累加的像素值的和值与像素点总数的比值,得到所述文字位图的颜色平均值,其中,所述像素点总数为所述像素点行数与所述像素点列数的乘积。结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,利用下式计算所述颜色平均值本文档来自技高网
...
一种渲染文字的方法、装置及电子设备

【技术保护点】
一种渲染文字的方法,其特征在于,包括:创建一空白设备无关位图,在创建的所述空白设备无关位图中绘制待渲染文字,得到文字位图;获取所述文字位图的颜色平均值;依据所述颜色平均值以及所述文字位图的颜色当前值,计算所述待渲染文字的颜色渲染值;依据所述颜色平均值设置所述待渲染文字的透明度;利用所述待渲染文字的透明度以及所述颜色渲染值,对所述待渲染文字进行渲染。

【技术特征摘要】
1.一种渲染文字的方法,其特征在于,包括:创建一空白设备无关位图,在创建的所述空白设备无关位图中绘制待渲染文字,得到文字位图;获取所述文字位图的颜色平均值;依据所述颜色平均值以及所述文字位图的颜色当前值,计算所述待渲染文字的颜色渲染值;依据所述颜色平均值设置所述待渲染文字的透明度;利用所述待渲染文字的透明度以及所述颜色渲染值,对所述待渲染文字进行渲染。2.根据权利要求1所述的渲染文字的方法,其特征在于,所述获取所述文字位图的颜色平均值包括:获取所述文字位图包含的像素点行数以及像素点列数;遍历所述文字位图包含的每一像素点,提取所述每一像素点的的像素值并进行累加;计算累加的像素值的和值与像素点总数的比值,得到所述文字位图的颜色平均值,其中,所述像素点总数为所述像素点行数与所述像素点列数的乘积。3.根据权利要求2所述的渲染文字的方法,其特征在于,利用下式计算所述颜色平均值: T h i s A = Σ k = 1 K Σ l = L Σ i = 1 n Y l k i n * K * L ]]>式中,ThisA为颜色平均值;K为文字位图包含的像素点列数;L为文字位图包含的像素点行数;n为组成像素点颜色的原色数;Ylki为文字位图中的第l行k列的像素点第i原色的像素值。4.根据权利要求1至3任一项所述的渲染文字的方法,其特征在于,所述依据所述颜色平均值以及所述文字位图的颜色当前值,计算所述待渲染文字的颜色渲染值包括:选取所述文字位图中的一像素点,分别获取选取的像素点的当前红颜色像素值、当前绿颜色像素值以及当前蓝颜色像素值;依次将所述当前红颜色像素值与所述颜色平均值、所述当前绿颜色像素值与所述颜色平均值,以及,所述当前蓝颜色像素值与所述颜色平均值应用于预先设置的颜色渲染公式,得到所述待渲染文字的相应红颜色像素渲染值、绿颜色像素渲染值以及蓝颜色像素渲染值。5.根据权利要求4所述的渲染文字的方法,其特征在于,利用如下公式计算所述颜色渲染值: ThisC l k i = T h i s A * Y l k ...

【专利技术属性】
技术研发人员:郭滔
申请(专利权)人:北京金山安全软件有限公司
类型:发明
国别省市:北京;11

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

1