[发明专利]绘制文本的方法及装置在审
申请号: | 201610065571.2 | 申请日: | 2016-01-29 |
公开(公告)号: | CN107025098A | 公开(公告)日: | 2017-08-08 |
发明(设计)人: | 周建涛 | 申请(专利权)人: | 北京国双科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京鼎佳达知识产权代理事务所(普通合伙)11348 | 代理人: | 王伟锋,刘铁生 |
地址: | 100086 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 绘制 文本 方法 装置 | ||
1.一种绘制文本的方法,其特征在于,所述方法包括:
在画布Canvas上绘制每一个字符之前,计算当前的剩余宽度,所述剩余宽度为Canvas宽度减去前一个字符的字符终点横坐标的差值,所述字符终点横坐标为所述前一个字符的字符起点横坐标与所述前一个字符的字符宽度之和;
判断所述剩余宽度是否小于待绘制字符的字符宽度;
若所述剩余宽度不小于所述待绘制字符的字符宽度,则在所述前一个字符之后绘制所述待绘制字符;
若所述剩余宽度小于所述待绘制字符的字符宽度,则换行绘制所述待绘制字符。
2.根据权利要求1所述的方法,其特征在于,所述换行绘制所述待绘制字符,包括:
确定换行后绘制所述待绘制字符的起点坐标;
从换行后绘制所述待绘制字符的起点坐标开始,绘制所述待绘制字符。
3.根据权利要求2所述的方法,其特征在于,所述确定换行后绘制所述待绘制字符的起点坐标,包括:
将所述Canvas的起点坐标的横坐标作为换行后绘制所述待绘制字符的起点坐标的横坐标,根据上一行中绘制的所有字符的字符高度确定换行后绘制所述待绘制字符的起点坐标的纵坐标。
4.根据权利要求3所述的方法,其特征在于,在所述计算当前的剩余宽度之前,所述方法进一步包括:
在另一Canvas上绘制所述待绘制字符,所述另一Canvas是在超文本标记语言HTML文档中添加的一个新Canvas;
通过遍历所述另一Canvas上所有像素点的数据,确定所述待绘制字符的字符宽度以及所述待绘制字符的字符高度。
5.根据权利要求1所述的方法,其特征在于,当所述字符间存在字符间隔时,所述前一个字符的字符终点横坐标为所述前一个字符的字符起点 横坐标、所述前一个字符的字符宽度以及所述字符间隔三者之和。
6.一种绘制文本的装置,其特征在于,所述装置包括:
计算单元,用于在画布Canvas上绘制每一个字符之前,计算当前的剩余宽度,所述剩余宽度为Canvas宽度减去前一个字符的字符终点横坐标的差值,所述字符终点横坐标为所述前一个字符的字符起点横坐标与所述前一个字符的字符宽度之和;
判断单元,用于判断所述剩余宽度是否小于待绘制字符的字符宽度;
第一绘制单元,用于若所述剩余宽度不小于所述待绘制字符的字符宽度,则在所述前一个字符之后绘制所述待绘制字符;
第二绘制单元,用于若所述剩余宽度小于所述待绘制字符的字符宽度,则换行绘制所述待绘制字符。
7.根据权利要求6所述的装置,其特征在于,所述第二绘制单元包括:
确定模块,用于确定换行后绘制所述待绘制字符的起点坐标;
绘制模块,用于从换行后绘制所述待绘制字符的起点坐标开始,绘制所述待绘制字符。
8.根据权利要求7所述的装置,其特征在于,所述确定模块用于:
将所述Canvas的起点坐标的横坐标作为换行后绘制所述待绘制字符的起点坐标的横坐标,根据上一行中绘制的所有字符的字符高度确定换行后绘制所述待绘制字符的起点坐标的纵坐标。
9.根据权利要求8所述的装置,其特征在于,所述装置进一步包括:
第三绘制单元,用于在所述计算当前的剩余宽度之前,在另一Canvas上绘制所述待绘制字符,所述另一Canvas是在超文本标记语言HTML文档中添加的一个新Canvas;
确定单元,用于通过遍历所述另一Canvas上所有像素点的数据,确定所述待绘制字符的字符宽度以及所述待绘制字符的字符高度。
10.根据权利要求6所述的装置,其特征在于,当所述字符间存在字符间隔时,所述计算单元中的所述前一个字符的字符终点横坐标为所述前一个字符的字符起点横坐标、所述前一个字符的字符宽度以及所述字符间隔三者之和。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610065571.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:桶(冷却剂)
- 下一篇:药品包装盒(宏奇胃珍)