(19)中华人民共和国国家知识产权局
字符串长度17模式串长度8
(12)发明专利说明书
(10)申请公布号 CN 101127035 A
(43)申请公布日 2008.02.20
(21)申请号 CN200710163896.5
(22)申请日 2007.10.11
(71)申请人 金蝶软件(中国)有限公司
    地址 518057 广东省深圳市南山区深南大道市高新技术产业园区W1-B4
(72)发明人 李馥龙
(74)专利代理机构 北京集佳知识产权代理有限公司
    代理人 逯长明
(51)Int.CI
      G06F17/24
      G06F17/25
                                                                  权利要求说明书 说明书 幅图
(54)发明名称
      在目标区域内绘制字符串的方法及装置
(57)摘要
      本发明公开了一种在目标区域内绘制字符串的方法,包括:预设字号变动范围;在目标区域内按照基准字号绘制字符串;判断所绘制的字符串是否超过所述目标区域的大小;如果是,则在所述基准字号小于所述可变字号上限时,将所述基准字号替换所述可变字号上限;以及,按照第一预置规则缩小所述基准字号;如果否,则在所述基准字号大于所述可变字号下限时,将所述基准字号替换所述可变字号下限;以及,按照第二预置规则放大所述基准字号;判断所述缩小或放大的基准字号是否在所述字号变动范围内,如果是,则在所述目标区域内重新绘制所述字符串。本发明可以在保证字符串绘制效率的前提下,在目标区域内同时实现自动换行和缩小字体填充处理。
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
1.一种在目标区域内绘制字符串的方法,其特征在于,包括:
预设字号变动范围,所述字号变动范围为可变字号下限与可变字号上限所限定的范围;
在目标区域内按照基准字号绘制字符串;
判断所绘制的字符串是否超过所述目标区域的大小;
如果是,则在所述基准字号小于所述可变字号上限时,将所述基准字号替换所述可变字号上限;以及,按照第一预置规则缩小所述基准字号;
如果否,则在所述基准字号大于所述可变字号下限时,将所述基准字号替换所述可变字号下限;以及,按照第二预置规则放大所述基准字号;
判断所述缩小或放大的基准字号是否在所述字号变动范围内,如果是,则在所述目标区域内按照所述缩小或放大的基准字号重新绘制所述字符串;如果否,则保存所述目标区域内的字符串绘制结果。
2.如权利要求1所述的方法,其特征在于,所述判断字符串是否超过所述目标区域的大小的步骤进一步包括:
当所绘制的字符为换行标识符,或者,所绘制字符的位移超过所述目标区域的宽度时,则位移至所述目标区域的下一个行高绘制该字符;
判断所绘制字符串的高度是否超过所述目标区域的高度,如果是,则为所绘制的字符串超过所述目标区域的大小,如果否,则为所绘制的字符串未超过所述目标区域的大小。
3.如权利要求1或2所述的方法,其特征在于,在字符串绘制步骤以前,还包括:
调整所述基准字号。
4.如权利要求3所述的方法,其特征在于,通过以下子步骤调整所述基准字号:
判断所述基准字号是否小于或等于0,如果是,则将所述基准字号置0,如果否,则获取字符串的总宽度和行高;
根据所述字符串的总宽度和实际字符个数计算字符的平均宽度;
根据所述字符的平均宽度和行高计算所述字符的平均单位面积;
计算目标区域的总面积,将所述总面积与所述字符的平均单位面积进行对比,获得所述目标区域的可容字符个数;
判断所述可容字符个数是否大于或等于所述实际字符个数,如果是,则保留所述基准字号;如果否,则根据所述可容字符个数与实际字符个数生成调整系数,并按照所述调整系数调整所述基准字号。
5.如权利要求2所述的方法,其特征在于,所述缩小基准字号的步骤包括:
根据所述字符串的实际字符个数和已绘制字符个数计算缩小系数;
将所述基准字号按照所述缩小系数进行缩小。
6.如权利要求2或5所述的方法,其特征在于,所述放大基准字号的步骤包括:
根据所述目标区域的高度和所绘制字符串的高度计算放大系数;
将所述基准字号按照所述放大系数进行放大。
7.一种在目标区域内绘制字符串的装置,其特征在于,包括:
预设单元,用于预设字号变动范围,所述字号变动范围为可变字号下限与可变字号上限所限定的范围;
绘制单元,用于在目标区域内按照基准字号绘制字符串;
第一判断单元,用于判断所绘制的字符串是否超过所述目标区域的大小,如果是,则触发第一调整单元;如果否,则触发第二调整单元;
第一调整单元,用于在所述基准字号小于所述可变字号上限时,将所述基准字号替换所述可变字号上限;以及,按照第一预置规则缩小所述基准字号;
第二调整单元,用于在所述基准字号大于所述可变字号下限时,将所述基准字号替换所述可变字号下限;以及,按照第二预置规则放大所述基准字号;
第二判断单元,用于判断所述缩小或放大的基准字号是否在所述字号变动范围内,如果是,则触发所述绘制单元在所述目标区域内按照所述缩小或放大的基准字号重新绘制所述字符串;如果否,则触发保存单元;
保存单元,用于保存所述目标区域内的字符串绘制结果。
8.如权利要求7所述的装置,其特征在于,所述第一判断单元进一步包括:
换行子单元,用于在所绘制的字符为换行标识符,或者,所绘制字符的位移超过所述目标区域的宽度时,位移至所述目标区域的下一个行高绘制该字符;
高度判断子单元,用于判断所绘制字符串的高度是否超过所述目标区域的高度,如果是,则为所绘制的字符串超过所述目标区域的大小,如果否,则为所绘制的字符串未超过所述目标区域的大小。
9.如权利要求7或8所述的装置,其特征在于,还包括:
调整单元,用于调整所述基准字号。
10.如权利要求9所述的装置,其特征在于,所述调整单元包括:
初始判断子单元,用于判断所述基准字号是否小于或等于0,如果是,则触发置零子单元;如果否,则触发获取子单元;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。