一种实现字体翻转的方法技术

技术编号:39596103 阅读:11 留言:0更新日期:2023-12-03 19:54
本发明专利技术涉及计算机中字体显示技术领域,具体涉及一种实现字体翻转的方法

【技术实现步骤摘要】
一种实现字体翻转的方法、装置、设备和存储介质


[0001]本专利技术涉及计算机中字体显示
,具体涉及一种实现字体翻转的方法

装置

设备和存储介质


技术介绍

[0002]电脑系统的图形化界面都会用到字体,使用字体绘制文字的时候,会根据不同效果,由字体引擎对字体进行一些变形,如粗体

翻转等

[0003]目前,实现字体翻转的方法较为单一,比如
word
中使用的是水平翻转或
/
和垂直翻转文本框,进而实现字体的翻转


技术实现思路

[0004]本专利技术提供一种实现字体翻转的方法

[0005]本专利技术的技术方案如下:
[0006]本专利技术提供了一种实现字体翻转的方法,包括以下步骤:
[0007]判断字体旋转角度是否为预设角度,如果为预设角度,则判断是否能启用位图模式,
[0008]如果能启用位图模式,则使用位图模式,计算翻转图像数据区的大小,新建翻转图像数据区,对位图模式图像进行翻转操作,实现对字体的翻转,如果不能启用位图模式,则使用矢量模式,新建翻转矩阵,设置翻转矩阵的
xx、xy、yx

yy
四个成员变量,通过设置翻转矩阵的四个成员变量的值,实现对字体的翻转;
[0009]所述预设角度为0度


90



180



270
度;
[0010]所述字体翻转为字体左右式翻转或
/
和上下式翻转

[0011]本专利技术所述使用位图模式,进行翻转操作,具体包括以下步骤:
[0012]获取源位图模式图像后,根据公式:翻转图像数据区的大小=源图像数据区行数
*
源图像数据区步进,计算翻转图像数据区的大小,新建翻转图像数据区,用于存储翻转图像数据,
[0013]若字体进行左右式翻转,则对位图模式图像进行左右式翻转操作,若字体进行上下式翻转,则对位图模式图像进行上下式翻转操作,将翻转图像数据区的数据,复制到源位图模式图像数据区

[0014]本专利技术所述使用位图模式,进行左右式翻转操作,具体包括以下步骤:位图模式图像下,若存在需要继续处理的图像行,则将当前位置的
x、y
坐标作为源图像数据区
x、y
坐标,
[0015]根据计算公式:目标图像数据区
x
坐标=源图像数据区宽度
‑1‑
x
,计算目标图像数据区
x
坐标,根据计算公式:目标图像数据区
y
坐标=
y
,计算目标图像数据区
y
坐标,将上述坐标作为参数,复制源图像数据区的数据到目标图像数据区后,完成左右式翻转操作

[0016]本专利技术所述使用位图模式,进行上下式翻转操作,具体包括以下步骤:位图模式图像下,若存在需要继续处理的图像行,则根据计算公式:源图像数据区偏移=源图像数据区
步进
*y
,计算源图像数据区偏移,
[0017]根据计算公式:目标图像数据区偏移=源图像数据区步进
*(
源图像数据区行数
‑1‑
y)
,计算目标图像数据区偏移,
[0018]将源图像数据区偏移位置开始的数据,复制到目标图像数据区偏移开始位置,数据数量是源图像数据区步进个字节,完成上下式翻转操作

[0019]本专利技术所述使用矢量模式,进行翻转操作,具体包括以下步骤:
[0020]矢量模式下,新建翻转矩阵,并将所述新建翻转矩阵的
xx、xy、yx

yy
四个成员变量都设置为0,若字体进行左右式翻转,则翻转矩阵的
xx
设置为

65536

yy
设置为
65536

xy、yx
均设置为0,使用翻转矩阵进行左右式翻转,若字体进行上下式翻转,则翻转矩阵的
xx
设置为
65536

yy
设置为

65536

xy、yx
均设置为0,使用翻转矩阵进行左右式翻转

[0021]本专利技术所述使用位图模式,进行翻转操作,还包括调整插槽位置,使用位图模式,进行左右式翻转操作,若字体位图模式图像需要调整插槽位置,则根据计算公式:目标图像数据区的插槽左边位置=

(
源图像数据区宽度
+
源图像数据区的插槽左边位置
)
,调整插槽位置;
[0022]使用位图模式,进行上下式翻转操作,若字体位图模式图像需要调整插槽位置,且源图像数据区行数大于等于源图像数据区的插槽顶部位置,则根据计算公式:目标图像数据区的插槽顶部位置=

源图像数据区的插槽顶部位置
+
源图像数据区行数,调整插槽位置,若源图像数据区行数小于源图像数据区的插槽顶部位置,则根据计算公式:目标图像数据区的插槽顶部位置=

源图像数据区的插槽顶部位置,调整插槽位置

[0023]本专利技术所述使用位图模式,进行翻转操作,还包括计算图像结构步进,进行位图像素扩展,具体包括以下步骤:
[0024]对位图图像进行像素扩展,设置目标图像结构为字节像素模式,并设置目标图像结构支持的灰度数量为
256
,若目标图像数据区的像素为位模式,则根据计算公式:目标图像数据区步进=
(
目标图像数据区宽度
+7)/8
,计算目标图像数据区步进,
[0025]若目标图像数据区的像素不是位模式,则根据计算公式:目标图像数据区步进=目标图像数据区宽度,计算目标图像数据区步进

[0026]本专利技术还提供了一种实现字体翻转的装置,包括:
[0027]位图模式字体翻转模块:使用位图模式,计算翻转图像数据区的大小,新建翻转图像数据区,对字体进行左右式翻转或
/
和上下式翻转;
[0028]矢量模式字体翻转模块:使用矢量模式,新建翻转矩阵,设置翻转矩阵的大小,使用翻转矩阵对字体进行左右式翻转或
/
和上下式翻转;
[0029]位图模式判断模块:用于判断是否成功启用位图模式;
[0030]调整插槽信息模块:用于判断并设置位图模式下的插槽位置

[0031]本专利技术还提供了一种实现字体翻转的设备,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现所述的实现字体翻转的方法
。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种实现字体翻转的方法,其特征在于,包括以下步骤:判断字体旋转角度是否为预设角度,如果为预设角度,则判断是否能启用位图模式,如果能启用位图模式,则使用位图模式,计算翻转图像数据区的大小,新建翻转图像数据区,对位图模式图像进行翻转操作,实现对字体的翻转,如果不能启用位图模式,则使用矢量模式,新建翻转矩阵,设置翻转矩阵的
xx、xy、yx

yy
四个成员变量,通过设置翻转矩阵的四个成员变量的值,实现对字体的翻转;所述预设角度为0度


90



180



270
度;所述字体翻转为字体左右式翻转或
/
和上下式翻转
。2.
根据权利要求1所述的一种实现字体翻转的方法,其特征在于,所述使用位图模式,进行翻转操作,具体包括以下步骤:获取源位图模式图像后,根据公式:翻转图像数据区的大小=源图像数据区行数
*
源图像数据区步进,计算翻转图像数据区的大小,新建翻转图像数据区,用于存储翻转图像数据,若字体进行左右式翻转,则对位图模式图像进行左右式翻转操作,若字体进行上下式翻转,则对位图模式图像进行上下式翻转操作,将翻转图像数据区的数据,复制到源位图模式图像数据区
。3.
根据权利要求2所述的一种实现字体翻转的方法,其特征在于,所述使用位图模式,进行左右式翻转操作,具体包括以下步骤:位图模式图像下,若存在需要继续处理的图像行,则将当前位置的
x、y
坐标作为源图像数据区
x、y
坐标,根据计算公式:目标图像数据区
x
坐标=源图像数据区宽度
‑1‑
x
,计算目标图像数据区
x
坐标,根据计算公式:目标图像数据区
y
坐标=
y
,计算目标图像数据区
y
坐标,将上述坐标作为参数,复制源图像数据区的数据到目标图像数据区后,完成左右式翻转操作
。4.
根据权利要求2所述的一种实现字体翻转的方法,其特征在于,所述使用位图模式,进行上下式翻转操作,具体包括以下步骤:位图模式图像下,若存在需要继续处理的图像行,则根据计算公式:源图像数据区偏移=源图像数据区步进
*y
,计算源图像数据区偏移,根据计算公式:目标图像数据区偏移=源图像数据区步进
*(
源图像数据区行数
‑1‑
y)
,计算目标图像数据区偏移,将源图像数据区偏移位置开始的数据,复制到目标图像数据区偏移开始位置,数据数量是源图像数据区步进个字节,完成上下式翻转操作
。5.
根据权利要求1所述的一种实现字体翻转的方法,其特征在于,所述使用矢量模式,进行翻转操作,具体包括以下步骤:矢量模式下,新建翻转矩阵,并将所述新建翻转矩阵的
xx、xy、yx

yy
四个成员变量都设置为0,若字体进行左右式翻转,则翻转矩阵的
...

【专利技术属性】
技术研发人员:崔海东王斌柳鲲鹏冯建培冯树荣
申请(专利权)人:泰山信息科技有限公司
类型:发明
国别省市:

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

1