一种usbkey液晶屏显示字体的放大方法

xiaoxiao2020-6-26  21

专利名称:一种usb key液晶屏显示字体的放大方法
技术领域
本发明属于智能认证设备技术领域,尤其是一种USB KEY液晶屏显示字体的放大方法。
背景技术
随着网络、安全技术的发展,网络交易正逐渐代替传统的交易方式,比如常见的网上银行、证券交易、支付网关等。用户先将USB KEY插入到计算机的USB接口中,然后根据计算机显示屏中的提示信息进行选择操作或录入操作,USB KEY和计算机软件进行数据的传输和验证,其中包括PIN码、加解密/交易签名数据等。由于数据传输和验证过程中存在着很多的安全隐患,比如键盘输入数据截获、恶意木马程序以及计算机中的软件篡改等,其中,键盘截获客户的PIN码,会导致USB KEY的冒用;而恶意木马程序则可能远程控制客户端,篡改用户数据,客户的一笔交易在USB KEY加密签名前,可能会被拦截并篡改为另外一笔交易,导致了客户的损失。针对这些攻击手段,市场上出现了一种新型的USB KEY,该USB KEY上安装有液晶屏和按键,在液晶屏中显示确认交易的关键信息(如金额、账号等),用户通过按键完成手工确认,最后由USB KEY完成签名等运算过程,这样能有效的保证用户网络交易的安全。在液晶屏显示信息时,USB KEY首先自其内部安装的字库文件中获取字符的点阵数据,然后将其输入到液晶屏的缓存中,液晶屏自动判断显示方法并将相关字符显示出来。 由于USBKEY体积较小,其上安装的液晶屏也较小,对于视力不好的用户来说,查看起来非常不便,但是交易信息的重要性要求用户必须进行确认,较小的显示字符、用户视力问题以及交易信息的确认形成了矛盾,可见传统的16X16的字库不能满足用户的需求,但使用大字库需要更大的硬件存储空间,不仅会增大USB KEY的体积,不利于便携,还会增加产品成本。

发明内容
本发明的目的在于克服现有显示技术的不足,提供操作简便、放大效果好的一种 USB KEY液晶屏显示字体的放大方法。本发明采用的技术方案是一种USB KEY液晶屏显示字体的放大方法,其特征在于包括以下步骤(1)接收待显示信息;(2)获取第一个字符的16X 16点阵数据;(3)将字符的16X 16点阵数据转换为16X 16的矩阵; (4)读取USB KEY设置的放大倍数,对16 X 16的矩阵进行放大插值处理,①当放大倍数为非整数时,对矩阵进行非整数倍放大插值处理;②当放大倍数为整数时,对矩阵进行整数倍放大插值处理;(5)当放大倍数为整数时,将经过整数倍放大插值处理后的矩阵进行插值圆滑处理,否则继续下一步;(6)将得到的矩阵还原为点阵数据,并输入到液晶屏的缓存里;(7)获取下一个字符的16X16点阵数据,重复步骤(3) (6),直至液晶屏的缓存填满或显示信息全部字符处理完成时提交液晶屏进行显示。而且,所述步骤(3)中,点阵数据转换为矩阵的方法是(1)将16X16点阵数据的32个成员均按二进制展开,按高位在下,低位在上竖直排列;(2)前16个成员平行排列成一 8X 16的矩阵;(3)后16个成员平行排列成一 8 X 16的矩阵;(4)将步骤( 和步骤(3)生成的两个8X16的矩阵分别上下水平排列形成一 16X16的矩阵。而且,所述步骤中的非整数倍放大插值处理过程是(1)获取放大倍数的分母,记为A ;(2)进行列插值将AXm列的数据复制并插入到AXm列与AXm+1列之间;(3)步骤⑵处理后的矩阵进行行插值将AXm行的数据复制并插入到AXm行与AXm+1行之间;其中,m为自然数。而且,所述步骤中的整数倍放大插值处理过程是(1)进行列插值将η列的数据复制并插入η列与η+1列之间;(2)步骤(1)处理后的矩阵进行行插值将η行的数据复制并插入到η行与η+1行之间;其中,η为自然数。而且,所述步骤(5)中的插值圆滑处理包括第一次插值和第二次插值第一次插值(1)χ=1;(2)y = 1 ;(3)读取矩阵中左上角位于Qx-l,2y-l)的4X4小矩阵的数据;(4)在4X4小矩阵中进行左上右下插值处理插值处理;(5)x不变,y增加1,重复步骤(3) G),直至矩阵的最右端;(6)x增加1,重复步骤O) (5),直至矩阵的最右下角,完成第一次插值;第二次插值(l)x=l;(2)y = 1 ;(3)读取矩阵中左上角位于Qx-l,2y-l)的4X4小矩阵的数据;(4)在4X4小矩阵中进行左上右下插值处理插值处理;(5)x不变,y增加1,重复步骤(3) G),直至矩阵的最右端;(6)x增加1,重复步骤O) (5),直至矩阵的最右下角,完成第二次插值;其中,χ和y为自然数;所述左上右下插值处理和右上左下插值处理过程是
(1)左上右下插值当左上第2列值均为1且右下第3行值也均为1时,则第二行第三列的值为1,反之为0 ;当左上第2行值均为1且右下第3列的值均为1时,则第三行第二列的值为1,反之为0;(2)右上左下插值当右上第3列值均为1且左下第3行值也均为1时,则第二列第二行的值为1,反之为0 ;当右上第2行值均为1且左下第2列的值均为1时,则第三行第三列的值为1,反之为0。本发明的优点和积极效果是本发明中,将较小的字符放大为较大的字符,放大过程分为整数倍放大和非整数倍放大,整个处理过程均自动完成,速度快,显示效果好,使视力不好的用户能清楚的看到液晶屏所显示的字符,保证了网络交易信息的准确确认,避免了错误的交易,而且USB KEY 的体积未增大,成本不变。


图1是本发明的流程图2是字符的16X16点阵数据转换为16X16矩阵的流程图3是非整数倍放大插值处理的流程图4是整数倍放大插值处理的流程图5是插值圆滑处理的流程图6是16X 16点阵数据转换为16X 16矩阵的示意图7是5/4倍数放大插值处理中的列插值;
图8是5/4倍数放大插值处理中的行插值;
图9是16X16矩阵的示意图10是16 X 16矩阵放大2倍后的32X32矩阵的示意图11是32 X 32矩阵进行插值圆滑处理后的32 X 32矩阵的示意图
图12是左上右下插值的示意图13是右上左下插值的示意图14是原始图、5/4倍放大和2倍放大的液晶屏显示效果图。
具体实施例方式下面结合实施例,对本发明进一步说明,下述实施例是说明性的,不是限定性的, 不能以下述实施例来限定本发明的保护范围。本发明所应用的USB KEY包括壳体,在壳体的一端安装一 USB接头,该USB接头与壳体内设置的控制电路连接,该控制电路还连接设置在壳体上的液晶屏、确认按钮、取消按钮、左、上方向复用按键,右、下方向复用按键,左、上方向复用按键和右、下方向复用按键可以实现滚屏和移位操作。使用时,用户将USB KEY插入电脑的USB接口中,然后进行网络交易,当USB KEY 收到待显示信息时,自动按照放大倍数进行放大,具体过程如下
一种USB KEY液晶屏显示字体的放大方法包括以下步骤1.接收待显示信息;2.获取第一个字符的16X 16点阵数据;3.将字符的16X 16点阵数据转换为16X 16的矩阵;点阵数据转换为矩阵的方法是(1)将16X16点阵数据的32个成员均按二进制展开,按高位在下,低位在上竖直排列;(2)前16个成员平行排列成一 8 X 16的矩阵;(3)后16个成员平行排列成一 8 X 16的矩阵;(4)将步骤( 和步骤(3)生成的两个8X16的矩阵分别上下水平排列形成一 16X16的矩阵。4.读取USB KEY设置的放大倍数,对16 X 16的矩阵进行放大插值处理,(1)当放大倍数为非整数时,对矩阵进行非整数倍放大插值处理;非整数倍放大插值处理过程是①获取放大倍数的分母,记为A ;②进行列插值将AXm列的数据复制并插入到AXm列与AXm+1列之间;③步骤②处理后的矩阵进行行插值将AXm行的数据复制并插入到AXm行与 AXm+1行之间;其中,m为自然数。(2)当放大倍数为整数时,对矩阵进行整数倍放大插值处理;①进行列插值将η列的数据复制并插入η列与η+1列之间;②步骤①处理后的矩阵进行行插值将η行的数据复制并插入到η行与η+1行之间;其中,η为自然数。5.当放大倍数为整数时,将经过整数倍放大插值处理后的矩阵进行插值圆滑处理,否则继续下一步;插值圆滑处理包括第一次插值和第二次插值第一次插值(1)χ=1;(2)y = 1 ;(3)读取矩阵中左上角位于Qx-l,2y-l)的4X4小矩阵的数据;(4)在4X4小矩阵中进行左上右下插值处理插值处理;(5)x不变,y增加1,重复步骤(3) G),直至矩阵的最右端;(6)x增加1,重复步骤O) (5),直至矩阵的最右下角,完成第一次插值;第二次插值(l)x = 1 ;(2)y = 1 ;(3)读取矩阵中左上角位于Qx-l,2y-l)的4X4小矩阵的数据;(4)在4X4小矩阵中进行左上右下插值处理插值处理;
(5)x不变,y增加1,重复步骤(3) (4),直至矩阵的最右端;(6)x增加1,重复步骤O) (5),直至矩阵的最右下角,完成第二次插值;其中,χ和y为自然数;左上右下插值处理和右上左下插值处理过程是(1)左上右下插值当左上第2列值均为1且右下第3行值也均为1时,则第二行第三列的值为1,反之为0 ;当左上第2行值均为1且右下第3列的值均为1时,则第三行第二列的值为1,反之为0;(2)右上左下插值当右上第3列值均为1且左下第3行值也均为1时,则第二列第二行的值为1,反之为0 ;当右上第2行值均为1且左下第2列的值均为1时,则第三行第三列的值为1,反之为0。6.将得到的矩阵还原为点阵数据,并输入到液晶屏的缓存里;7.获取下一个字符的16X16点阵数据,重复步骤3 6,直至液晶屏的缓存填满或显示信息全部字符处理完成时提交液晶屏进行显示。实施例1某一个字符的16X16点阵数据包括32字节(一维数组中的32个成员),前16个成员是0x10,0x90,OxFF,0x50,0x98,0xC8,0x48,0xC8,0x48,0x7F,0x48,0xC8,0x48, OxEC,0x48,0x00后16个成员是0x02,0x01,OxFF,0x00,0x00,0xFF,0x10,0x12,0x13,0x7F,0x13,0x52,0x90, 0x7F,0x00,0x00点阵数据转换为矩阵的过程如图6所示,前16个成员中的第一个为0x10,展开成二进制后为00010000,按高位在下,低位在上竖直排列,其它15个成员同样展开、排列,前 16个成员平行排列成一 8X 16的矩阵。同样,后16个成员平行排列成一 8X 16的矩阵。两个8X 16的矩阵分别上下水平排列形成一如图6和图9所示的16X 16的矩阵。USB KEY内置的放大倍数为5/4,获取分母A = 4,m= 1、2、3和4,首先按图7所示,将第4、8、12和16列复制并插入为与其相邻的列,然后按图8所示,将第4、8、12和16 行复制并插入为与其相邻的行,最后将16X16的矩阵按照5/4的倍数放大为20X20的矩阵。然后将20X20的矩阵扩充为MXM的矩阵,扩充后的矩阵的空位均置为数字0, 然后将MXM的矩阵还原为72字节,即一维数组中的72个成员,具体过程如下1.读取第1列中自第1行至第8行的数据,按在下为高位、在上为低位的方式进行排列,如图8所示,获得一个二进制数据为00110000,将其换算为16进制后的数据即为一维数组中的第一个成员,以同样的方法还原2 M列的自第1行至第8行的数据,得到一维数组中的前M个成员。2.依次读取第1 M列中自第9行至第16行的数据,按照步骤1的方法还原,得到一维数组中的中间M个成员。
3.依次读取第1 M列中自第17行至第M行的数据,按照步骤1的方法还原, 得到一维数组中的后M个成员。将一维数组中的72个成员(表示该字符的72字节)写入液晶屏缓存,待其它字符处理完毕后,提交液晶屏显示。本次按照5/4倍进行放大的结构如图14中间的图所示,该显示效果比最左边的原始显示效果明显增大,且显示效果好,字符清晰,便于用户阅读。实施例2某一个字符的16X 16点阵数据以及转换16X 16的矩阵的过程均为与实施例1相同。USB KEY内置的放大倍数为2,η = 1、2、3……16,首先将1 16列中每一列的数据复制并插入为与其相邻的列,然后将1 16行中每一行的数据复制并插入与其相邻的行,列插值和行插值完成后的32X32矩阵如图10所示。在上述32X32的矩阵内进行插值圆滑处理,具体过程如下1.读取32X32矩阵中左上角位于(1,1)的4X4小矩阵的数据,该4X4小矩阵见图11中黑实线方框内的数据。在4X4小矩阵内进行左上右下插值(第一次插值),具体过程见图12,左上右下插值处理中的4X4小矩阵内的数据为举例说明,与32X32矩阵的数据不同。左上右下插值当左上第2列值(图12上边左侧的竖直方框)均为1,右下第3行值(图12上边左侧的水平方框)也均为1时,则第二行第三列的值(图12上边右侧方框)由0变换为 1 ;当左上第2行值(图12下边左侧的水平方框)均为1,右下第3列的值(图12下边左侧的竖直方框)为1和0时,则第三行第二列的值(图12下边右侧方框)由1变为0。2.完成步骤1后,步骤1中的黑实线方框移动到图11中的虚线框的位置,读取左上角位于(1,3)的4X4小矩阵的数据,即χ保持为1,y增加1后变换为2,则&-1 = 1, 2y-l = 3。在上述虚线框内进行步骤1中的左上右下插值,完成后虚线框继续向右移,即χ保持为l,y增加1后变换为3,则&-1 = l,2y-l = 5,重复进行4X4小矩阵内数据的左上右下插值处理,直至y = 15,虚线框到达32X32矩阵的最右端并进行完左上右下插值处理。3.虚线框移动到32X32矩阵的最左端并向下移两行,即χ增加1后变为2,y保持为1,则&-1 = 3,2y-l = 1,该位置的4X4小矩阵如图11内黑点框内的数据,该位置的 4X4小矩阵完成左上右下插值处理后,黑点框向右移,即χ保持为2,y增加1后变换为2, 则= 3,2y-l = 3,黑点框不断右移直至y = 15,黑点框到达32X 32矩阵的最右端并进行完左上右下插值处理。4.黑点框不断下移、右移交替并完成左上右下插值处理,直至χ = 15、y = 15,黑点框到达32X32矩阵的最右下角即完成了 32X32矩阵的左上右下插值圆滑处理。5.再重复1 4,将左上右下插值处理变换为右上左下插值(第二次插值),具体过程如图13所示,右上左下插值当右上第3列值(图13上边左侧的竖直方框)为0和1,左下第3行值(图13上边左侧的水平方框)为1和0,则第二行第二列的值(图13上边右侧方框)由1变换为0 ; 当右上第2行值(图13下边左侧的水平方框)均为1,右下第2列的值(图13下边左侧的竖直方框)均为1,第三行第三列的值(图13下边右侧方框)为1。两侧插值完成后即完成率呃插值圆滑处理,如图11所示,因插值变化的值如图11 中的具有黑色背景的数据。插值圆滑处理后的32X32矩阵按实施例1的方法还原为1 字节,即一维数组的 128个成员,就是先依次读取第1 32列中自第1行至第8行的数据,得到一维数组中的 32个成员,然后依次读取第1 32列中自第9行至第16行的数据,得到一维数组中的另外32个成员,不断重复,完成1 个成员的还原。将一维数组中的1 个成员(表示该字符的1 字节)写入液晶屏缓存,待其它字符处理完毕后,提交液晶屏显示。本次按照2倍进行放大的结构如图14右边的图所示,该显示效果比最左边的原始显示效果明显增大,且显示效果好,字符清晰,便于用户阅读。本发明中,将较小的字符放大为较大的字符,放大过程分为整数倍放大和非整数倍放大,整个处理过程均自动完成,速度快,显示效果好,使视力不好的用户能清楚的看到液晶屏所显示的字符,保证了网络交易信息的准确确认,避免了错误的交易,而且USB KEY 的体积未增大,成本不变。
权利要求
1.一种USB KEY液晶屏显示字体的放大方法,其特征在于包括以下步骤(1)接收待显示信息;(2)获取第一个字符的16X16点阵数据;(3)将字符的16X16点阵数据转换为16X16的矩阵;(4)读取USBKEY设置的放大倍数,对16X16的矩阵进行放大插值处理,①当放大倍数为非整数时,对矩阵进行非整数倍放大插值处理;②当放大倍数为整数时,对矩阵进行整数倍放大插值处理;(5)当放大倍数为整数时,将经过整数倍放大插值处理后的矩阵进行插值圆滑处理,否则继续下一步;(6)将得到的矩阵还原为点阵数据,并输入到液晶屏的缓存里;(7)获取下一个字符的16X16点阵数据,重复步骤C3) (6),直至液晶屏的缓存填满或显示信息全部字符处理完成时提交液晶屏进行显示。
2.根据权利要求1所述的一种USBKEY液晶屏显示字体的放大方法,其特征在于所述步骤(3)中,点阵数据转换为矩阵的方法是(1)将16X16点阵数据的32个成员均按二进制展开,按高位在下,低位在上竖直排列;(2)前16个成员平行排列成一8 X 16的矩阵;(3)后16个成员平行排列成一8 X 16的矩阵;(4)将步骤( 和步骤C3)生成的两个8X16的矩阵分别上下水平排列形成一16X16 的矩阵。
3.根据权利要求1所述的一种USBKEY液晶屏显示字体的放大方法,其特征在于所述步骤(4)中的非整数倍放大插值处理过程是(1)获取放大倍数的分母,记为A;(2)进行列插值将AXm列的数据复制并插入到AXm列与AXm+1列之间;(3)步骤( 处理后的矩阵进行行插值将AXm行的数据复制并插入到AXm行与 AXm+1行之间;其中,m为自然数。
4.根据权利要求1所述的一种USBKEY液晶屏显示字体的放大方法,其特征在于所述步骤(4)中的整数倍放大插值处理过程是(1)进行列插值将η列的数据复制并插入η列与η+1列之间;(2)步骤(1)处理后的矩阵进行行插值将η行的数据复制并插入到η行与η+1行之间;其中,η为自然数。
5.根据权利要求1所述的一种USBKEY液晶屏显示字体的放大方法,其特征在于所述步骤(5)中的插值圆滑处理包括第一次插值和第二次插值第一次插值(1)x= 1 ;(2)y= 1 ;(3)读取矩阵中左上角位于Ox-l,2y-l)的4X4小矩阵的数据;(4)在4X4小矩阵中进行左上右下插值处理插值处理;(5)x不变,y增加1,重复步骤(3) (4),直至矩阵的最右端;(6)x增加1,重复步骤( (5),直至矩阵的最右下角,完成第一次插值; 第二次插值(1)x= 1 ;(2)y= 1 ;(3)读取矩阵中左上角位于Ox-l,2y-l)的4X4小矩阵的数据;(4)在4X4小矩阵中进行左上右下插值处理插值处理;(5)x不变,y增加1,重复步骤(3) (4),直至矩阵的最右端;(6)x增加1,重复步骤( (5),直至矩阵的最右下角,完成第二次插值; 其中,χ和y为自然数;所述左上右下插值处理和右上左下插值处理过程是(1)左上右下插值当左上第2列值均为1且右下第3行值也均为1时,则第二行第三列的值为1,反之为 0 ;当左上第2行值均为1且右下第3列的值均为1时,则第三行第二列的值为1,反之为0 ;(2)右上左下插值当右上第3列值均为1且左下第3行值也均为1时,则第二列第二行的值为1,反之为 0 ;当右上第2行值均为1且左下第2列的值均为1时,则第三行第三列的值为1,反之为0。
全文摘要
本发明涉及一种USB KEY液晶屏显示字体的放大方法,(1)接收待显示信息;(2)获取第一个字符的16×16点阵数据;(3)将字符的16×16点阵数据转换为16×16的矩阵;(4)读取USBKEY设置的放大倍数,对16×16的矩阵进行放大插值处理;(5)当放大倍数为整数时,将经过整数倍放大插值处理后的矩阵进行插值圆滑处理,否则继续下一步;(6)将得到的矩阵还原为点阵数据,并输入到液晶屏的缓存里;(7)获取下一个字符的16×16点阵数据,重复步骤(3)~(6),直至液晶屏的缓存填满或显示信息全部字符处理完成时提交液晶屏进行显示。本发明放大过程均自动完成,速度快,显示效果好,使视力不好的用户能清楚的看到液晶屏所显示的字符,而且USB KEY的体积未增大,成本不变。
文档编号G09G5/26GK102496357SQ20111042794
公开日2012年6月13日 申请日期2011年12月17日 优先权日2011年12月17日
发明者张宏强, 王兆祎 申请人:天津深楠信息安全有限公司

最新回复(0)