CN111507067A - 显示公式图片的获取方法、转存公式图片的方法及装置 - Google Patents
显示公式图片的获取方法、转存公式图片的方法及装置 Download PDFInfo
- Publication number
- CN111507067A CN111507067A CN201910099508.4A CN201910099508A CN111507067A CN 111507067 A CN111507067 A CN 111507067A CN 201910099508 A CN201910099508 A CN 201910099508A CN 111507067 A CN111507067 A CN 111507067A
- Authority
- CN
- China
- Prior art keywords
- formula
- code
- picture
- latex
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明实施例提供了一种显示公式图片的获取方法、转存公式图片的方法及装置,将latex公式代码转存成公式图片的方法,包括:获取待转存latex公式代码;将所述待转存latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配;将所述目标矢量图转存为公式图片;截取并保存所述公式图片。采用所述显示公式图片的获取方法、将latex公式代码转存成公式图片的方法及相关装置,可以在提高latex公式代码安全性的基础上,提高latex公式的传输和显示效率,且保证了公式图片中的字体大小与显示设备对显示字体大小的要求相匹配。
Description
技术领域
本发明实施例涉及计算机领域,尤其涉及一种显示公式图片的获取方法、将latex公式代码转存成公式图片的方法及装置。
背景技术
Latex作为一种数学公式的代码标准,由于其在处理数学公式时的优势而被广泛应用。
然而随着互联网和移动互联网的发展,需要移动端APP或者WEB网页接收通过网络传输的方式传输的latex公式代码,然后再在终端通过渲染latex公式代码的方式显示数学公式。
在前述过程中,由于latex公式代码在互联网中传输,使得latex公式代码中的核心代码会暴露在互联网中,被非法组织盗用的风险增大;并且,受到网络传输速度的影响,一方面,可能会造成字体库载入失败,造成渲染失败;另一方面,还可能会由于软件开发工具包SDK过大,造成渲染效率和速度不佳,影响用户体验。
因此,如何在提高latex公式代码安全性的基础上,提高latex公式的传输和显示效率,成为亟需解决的技术问题。
发明内容
本发明实施例解决的技术问题是提供一种显示公式图片的获取方法、将latex公式代码转存成公式图片的方法及相关装置,以在提高latex公式代码安全性的基础上,提高latex公式的传输和显示效率。
为解决上述问题,本发明实施例提供一种将latex公式代码转存成公式图片的方法,包括:
获取待转存latex公式代码;
将所述待转存latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配;
将所述目标矢量图转存为公式图片;
截取并保存所述公式图片。
可选地,所述将所述待转存latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配的步骤包括:
将所述待转存latex公式代码解析渲染成原始矢量图;
根据显示设备对字体显示的尺寸要求,调整所述原始矢量图的大小,得到所述目标矢量图。
可选地,所述将所述待转存latex公式代码解析渲染成原始矢量图的步骤之前还包括:
对所述待转存latex公式代码进行语法检查,并纠正语法错误。
可选地,所述获取待转存latex公式代码的步骤包括:
从公式代码库的中获取所述待转存latex公式代码,所述公式代码库存储有从题目代码中获取的latex公式代码,所述公式代码库中的各latex公式代码均不相同。
可选地,所述latex公式代码包括与其相匹配的公式标识;
当所述从题目代码中获取的latex公式代码的公式标识与所述公式代码库中已存储的各所述latex公式代码的公式标识均不相同时,将所述从题目代码中获取的latex公式代码存储至所述公式代码库,并标记为所述待转存latex公式代码。
可选地,利用哈希算法为所述latex公式代码分配所述公式标识。
可选地,所述待转存latex公式代码还包括所属题目标识;
所述公式代码库按照所述所属题目标识排列所述待转存latex公式代码;
所述从所述公式代码库中获取所述待转存的latex公式代码的步骤包括:
按照排列顺序从所述公式代码库中获取所述待转存latex公式代码。
可选地,所述公式图片为二进制代码图片。
可选地,所述目标矢量图的字体大小的计算公式为:
目标矢量图字体大小=(显示字体大小±3px)×2。
为解决上述问题,本发明实施例还提供一种显示公式图片的获取方法,包括:
向服务器发送公式图片的图片获取请求;
接收所述服务器发出的公式图片信息,所述公式图片信息包括公式图片和公式图片尺寸;
根据显示字体的字体尺寸和所述公式图片尺寸确定缩放系数,缩放所述公式图片,得到显示公式图片,所述显示公式图片的文字尺寸与所述字体尺寸相匹配。
可以理解的是,上述文字尺寸即为显示公式图片的字体尺寸,为描述方便,将显示公式图片中的文字大小用文字尺寸描述,将显示时对字体大小的要求用字体尺寸描述。
可选地,所述缩放系数的范围为1.5-2.6。
为解决上述问题,本发明实施例还提供一种将Latex公式代码转存成图片的装置,包括:
公式代码获取装置,适于获取待转存latex公式代码;
目标矢量图获取装置,适于将所述待转存latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配;
公式图片转存装置,适于将所述目标矢量图转存为公式图片;
截取及保存装置,适于截取并保存所述公式图片。
为解决上述问题,本发明实施例还提供一种服务器端设备,包括至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述程序,以执行如上述任一项所述的将latex公式代码转存成公式图片的方法。
为解决上述问题,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,当该指令被处理器执行时可以实现如上述任一项所述的将latex公式代码转存成公式图片的方法。
为解决上述问题,本发明实施例还提供一种显示公式图片的获取装置,包括:
图片获取请求发送装置,适于向服务器发送公式图片的图片获取请求;
公式图片信息接收装置,适于接收所述服务器发出的公式图片信息,所述公式图片信息包括公式图片和公式图片尺寸;
公式图片尺寸调整装置,适于根据显示字体的字体尺寸和所述公式图片尺寸确定缩放系数,缩放所述公式图片,得到显示公式图片,所述显示公式图片的文字尺寸与所述字体尺寸相匹配。
为解决上述问题,本发明实施例还提供一种接收端设备,包括至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述程序,以执行如上述任一项所述的显示公式图片的获取方法。
为解决上述问题,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,当该指令被处理器执行时可以实现如上述任一项所述的显示公式图片的获取方法。
与现有技术相比,本发明的技术方案具有以下优点:
本发明实施例所提供的显示公式图片的获取方法、将latex公式代码转存成公式图片的方法及相关装置中,将latex公式代码转存成公式图片的方法包括:获取待转存latex公式代码;将所述待转存的latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配;将所述目标矢量图转存为公式图片;截取并保存所述公式图片。这样,在将latex公式代码转存成图片时,首先获取需要进行转存的latex公式代码,即待转存latex公式代码,然后,将待转存的latex公式代码进行处理,得到需要的目标矢量图,目标矢量图需要满足图中的字体大小和后续进行图片显示的显示设备对显示字体大小的要求,然后将目标矢量图转存为公式图片,再将公式图片进行截取和保存即可。可见,本发明实施例所提供的将latex公式代码转存成公式图片的方法,将latex公式代码转存为公式图片,当需要进行公式的传输和显示时,可以直接进行公式图片的传输和显示,从而无需将latex公式代码暴漏至互联网上,降低了latex公式代码的泄露风险;同时,在显示设备端,仅需要将公式图片进行显示,而无需进行latex公式代码的渲染,避免了渲染显示过程对于软件工具包以及字体库的依赖,也降低了对于网络传输速度的依赖,提高了传输和显示效率;进一步地,本发明实施例所提供的将latex公式代码转存成公式图片的方法,所生成的目标矢量图的字体大小,与显示设备对显示字体大小的要求相匹配,从而保证了最终保存的公式图片中的字体大小与显示设备对显示字体大小的要求相匹配,进而使得显示设备所显示的公式图片的清晰度较高。
可选方案中,本发明实施例所提供的显示公式图片的获取方法、将latex公式代码转存成公式图片的方法及相关装置,所述将latex公式代码转存成公式图片的方法中所述将所述待转存latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配的步骤包括:将所述待转存的latex公式代码解析渲染成原始矢量图;根据显示设备对字体显示的尺寸要求,调整所述原始矢量图的大小,得到所述目标矢量图。可见,本发明所提供的将latex公式代码转存成公式图片的方法,在获取目标矢量图时,首先将待转存latex公式代码解析渲染成原始矢量图,然后根据显示设备对字体显示的尺寸要求,再来调整原始矢量图的大小,得到目标矢量图,以保证目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配,目标矢量图的生成方法和调整方法都比较简单,提高了可操作性和操作效率。
可选方案中,本发明实施例所提供的显示公式图片的获取方法、将latex公式代码转存成公式图片的方法及相关装置,所述将latex公式代码转存成公式图片的方法中目标矢量图的字体大小的计算公式为:目标矢量图字体大小=(显示字体大小±3px)×2。本发明实施例所提供的将latex公式代码转存成公式图片的方法,通过将生成的目标矢量图字体大小确定为显示字体大小±3px(像素),再将前述得到的值扩大2倍后的像素值,可以保证目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配,即后续截取并保存的公式图片中的的字体大小能够与显示设备对显示字体大小的要求相匹配。
附图说明
图1是本发明实施例提供的将latex公式代码转存成公式图片的系统一结构示意图;
图2是本发明实施例提供的将latex公式代码转存成公式图片的方法的一流程示意图;
图3是本发明实施例提供的将latex公式代码转存成公式图片的方法的部分流程示意图;
图4是本发明实施例提供的显示公式图片的获取方法的流程示意图;
图5是本发明实施例所提供的将latex公式代码转存成公式图片的装置的一框图;
图6是本发明实施例所提供的将latex公式代码转存成公式图片的装置的目标矢量图获取装置的框图;
图7是本发明实施例提供的发送端设备的一种可选硬件架构图;
图8是本发明实施例提供的显示公式图片的获取装置的一框图。
具体实施方式
由背景技术可知,现有技术的latex公式代码的传输过程中,latex公式代码的安全性较低,传输和显示效率也较低。
为了提高latex公式代码的安全性,同时提高latex公式的传输和显示效率,本发明实施例提供了一种显示公式图片的获取方法、将latex公式代码转存成公式图片的方法及相关装置,所述将latex公式代码转存成公式图片的方法包括:获取待转存latex公式代码;将所述待转存的latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配;将所述目标矢量图转存为公式图片;截取并保存所述公式图片。
这样,在将latex公式代码转存成图片时,首先获取需要进行转存的latex公式代码,即待转存latex公式代码,然后,将待转存的latex公式代码进行处理,得到需要的目标矢量图,目标矢量图需要满足图中的字体大小和后续进行图片显示的显示设备对显示字体大小的要求,然后将目标矢量图转存为公式图片,再将公式图片进行截取和保存即可。
可见,本发明实施例所提供的将latex公式代码转存成公式图片的方法,将latex公式代码转存为公式图片,当需要进行公式的传输和显示时,可以直接进行公式图片的传输和显示,从而无需将latex公式代码暴漏至互联网上,降低了latex公式代码的泄露风险;同时,在显示设备端,仅需要将公式图片进行显示,而无需进行latex公式代码的渲染,避免了渲染显示过程对于软件工具包以及字体库的依赖,也降低了对于网络传输速度的依赖,提高了传输和显示效率;进一步地,本发明实施例所提供的将latex公式代码转存成公式图片的方法,所生成的目标矢量图的字体大小,与显示设备对显示字体大小的要求相匹配,从而保证了最终保存的公式图片中的字体大小与显示设备对显示字体大小的要求相匹配,进而使得显示设备所显示的公式图片的清晰度较高。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例一种将latex公式代码转存成公式图片的系统的结构示意图。
基于图1所示的将latex公式代码转存成公式图片的系统,该系统可以适用于具体数据处理能力的电子设备,该电子设备可以例如终端设备或者服务器设备;参照图1,该电子设备可以包括处理器10和存储器20。处理器10和存储器20可以位于同一电子设备,例如处理器10和存储器20可以位于服务器设备或者终端设备;处理器10和存储器20也可以位于不同的电子设备。
作为本发明实施例公开内容的一种可选实现,存储器可以存储程序,处理器可调用所述程序,以执行本发明实施例提供的将latex公式代码转存成公式图片的方法;该程序主要实现功能为:
获取待转存latex公式代码,然后对待转存latex公式代码进行处理,得到所需要的目标矢量图,再将目标矢量图转存为图片格式的公式图片,再截取公式图片的公式图片代码,对公式图片代码进行保存。
本发明实施例中,电子设备可以是能够进行latex公式代码转存的平板电脑、笔记本电脑等设备,实现对于待转存latex公式代码的获取和转存,并且转存后的公式图片满足显示要求。
需要说明的是,上述的将latex公式代码转存成公式图片的系统还可以包括与本发明实施例公开内容可能并不是必需的其他器件(未示出);鉴于这些其他器件对于理解本发明实施例公开内容可能并不是必需,本发明实施例对此不进行逐一介绍。
在一种实施例中,电子设备可以从公式代码库中获取待转存latex公式代码,公式代码库为存储latex公式代码的区域,latex公式代码从题目代码中获取到以后就进入此区域进行存储,以便后续进行latex公式代码转存时能够快速直接地获取。
具体地,在从题目代码中获取latex公式代码时,可以首先从题目代码中找出latex公式代码,然后为latex公式代码分配公式标识,并保证相同的latex公式代码具有相同的公式标识,然后将公式标识不同的latex公式代码存储至公式代码库,也就是相同的latex公式代码仅有一个会存储至公式代码库。
可以理解的是,同时进行latex公式代码分类的题目代码的范围可以是随机的,既可以是一道题目、一套题目,也可以是多套题目,对一次需要分离的题目代码进行latex公式代码的分离时,在确定范围的题目代码中将全部的latex公式分离出来,然后为latex公式代码分配公式标识,选出公式标识不同的latex公式代码(具有相同公式代码的latex公式仅选一个),然后再与公式代码库中已有的latex公式代码的公式标识进行比较,得到与公式代码库中已有的latex公式代码,存储至公式代码库,为后续的转存做好准备。
在一种具体实施方式中,latex公式代码的公式标识可以利用哈希(hash)算法进行分配。
当然,在一种具体实施方式中,为了方便从题目代码中分离latex公式代码,可以对题目代码进行处理,按照一定的规则将latex公式代码进行标识,比如,在latex公式代码的前后分别添加相应的标识。
另一方面,可以理解的是,首次分离获取latex公式代码并将其存储至公式代码库,且未进行公式图片的转存时,公式代码库中的latex公式代码仅包括待转存latex公式代码,而除了前述情况下,公式代码库中,通常会同时存储有已转存latex公式代码和待转存latex公式代码。
在一种具体实施方式中,为了方便快速找到待转存latex公式代码,还可以给latex公式代码添加状态标识,比如:1代表已转存,0代表待转存,则在仅从latex公式代码转存时,仅获取状态标识未0的latex公式代码,减小了运算量,提高了处理速度。而且,在待转存latex公式代码完成转存后,待转存latex公式代码即转变为已转存latex公式代码,相应的,状态标识就转变为1。
进一步地,还可以将待转存latex公式代码和已转存latex公式代码分别存储,从而当进行latex公式代码的转存时,只需要从待转存latex公式代码库中获取。
在一种具体实施例中,为了方便获取latex公式代码,公式代码库中的latex公式代码还可以按照一定的顺序进行存储,比如:按照是否已进行转存进行存储。在其他实施方式中,还可以将公式代码库中的待转存latex公式代码按照不同的题目顺序进行存储,从而将属于同一题目的待转存latex公式代码排在相邻的位置,在进行公式图片的转存时,可以优先完成属于同一题目的待转存latex公式代码的转存。
为方便查找属于同一题目的待转存latex公式代码,可以在获取latex公式代码后,为latex公式代码分配所属题目标识,基于所属题目标识,可以快速地找到属于同一题目的待转存latex公式代码,并排列至相邻位置。
当然,公式代码库的形成可以通过电子设备的预处理系统进行,将题目代码录入到电子设备,按照前述的方法,完成latex公式代码的获取、存储和排序等相关工作。
在一种具体实施方式中,可以通过电子设备内置的浏览器进行latex公式代码的转存,比如:利用MacBook Pro内置的Safari浏览器打开HTML5+JS的渲染系统,将latex公式代码获取至所述渲染系统,进行latex公式代码的分析渲染和保存。
电子设备(具体可以为电子设备的渲染系统)从公式代码库中获取待转存latex公式代码,每次获取一条latex公式代码,然后对其进行解析渲染等处理,得到目标矢量图,目标矢量图需要满足显示设备对于图片显示的要求。
可以理解的是,显示设备可以为个人电脑或者手机(包含苹果手机和安卓手机)的屏幕等。
在一种具体实施方式中,在电子设备对latex公式代码进行解析渲染前,还可以对待转存latex公式代码进行语法检查,对于不符合latex语法的代码数据通过纠错系统进行纠错处理,然后再对纠错完成或者不存在语法错误的待转存latex公式代码进行渲染解析等处理,得到目标矢量图。
具体地,纠错处理可以为:将多余的空格去除,中文标点符号转换为英文标点符号,多行公式转换为单行公式等等。
由于对待转存latex公式代码进行渲染解析处理后,得到的原始矢量图的尺寸不一定满足显示设备对于公式图片的要求,还可以对原始矢量图进行尺寸调整,使得调整后的矢量图中的字体在显示设备中进行显示时,矢量图中的字体显示设备的字体大小、高度、粗细基本相同,肉眼无法区分是图片还是文字,得到目标矢量图。
为了方便确定所需要确定的目标矢量图中的字体大小,经过多次调整实验,确定目标矢量图字体大小与显示设备的显示字体大小之间的关系为:
目标矢量图字体大小=(显示字体大小±3px)×2:
比如:在大多数情况下12px-18px字体大小比较适宜人眼的阅读,个人电脑(也就是常说的H5端)内容字体大小一般是14px,安卓手机与苹果手机的字体大小一般是14px或16px字体,通过上面的公式进行计算,得出的目标矢量图的字体大小范围为18px-42px,选取中间值30px,反向运算,不论是个人电脑还是安卓手机和苹果手机,都在其支持区间内,因此可以将目标矢量图字体大小定为30px。在其他实施方式中,可以根据显示设备的要求,将目标矢量图字体大小确定为其他值,比如:18px,20px,25px,40px等等,只要能够与显示设备对于显示字体大小的要求相匹配即可。
当得到了目标矢量图后,为了方便图片的存储,并减小所占用的空间,电子设备还会把目标矢量图转存为公式图片,即普通的图片,具体公式图片的类型可以为:jpg格式、gif格式、png格式等等,只要能够方便保存都是可以的。
完成公式图片的转存后,电子设备再截取公式图片所对应的代码,将上述公式图片代码截取出来。
所述所截取的公式图片可以为二进制代码图片,即截取对应公式图片的二进制代码。
然后电子设备将截取的公式图片代码进行保存。
容易理解的是,为方便查找,电子设备会按照一定的规则对公式图片代码进行保存。
当然,对于电子设备而言,为节省空间,如果完成了公式图片代码的截取和发送,则可以清理目标矢量图的存储空间以及渲染系统中的待转存latex公式代码。
可以看出,本发明实施例所提供的将latex公式代码转存成公式图片的方法,将latex公式代码转存为公式图片,当需要进行公式的传输和显示时,可以直接进行公式图片的传输和显示,从而无需将latex公式代码暴漏至互联网上,降低了latex公式代码的泄露风险;同时,在显示设备端,仅需要将公式图片进行显示,而无需进行latex公式代码的渲染,避免了渲染显示过程对于软件工具包以及字体库的依赖,也降低了对于网络传输速度的依赖,提高了传输和显示效率;进一步地,本发明实施例所提供的将latex公式代码转存成公式图片的方法,所生成的目标矢量图的字体大小,与显示设备对显示字体大小的要求相匹配,从而保证了最终保存的公式图片中的字体大小与显示设备对显示字体大小的要求相匹配,进而使得显示设备所显示的公式图片的清晰度较高。
基于以上说明,请参考图2,图2示出了一种将latex公式代码转存成公式图片的方法的流程示意图。
如图中所示,本发明实施例所提供的将latex公式代码转存成公式图片的方法包括以下步骤:
步骤S10:获取待转存latex公式代码。
待转存latex公式代码的获取,为后续的操作提供数据基础,Latex公式代码(包括已转存latex公式代码和未转存latex公式代码)来自于题目代码,题目代码既可以是试题代码,也可以是例题代码,只要题目中包含latex公式代码都是可以的。
在一种具体实施方式中,待转存latex公式代码可以直接从题目代码中获取,然后直接进入后续的处理流程,实现将待转存latex公式代码转存成公式图片。
在另一种具体实施方式中,待转存latex公式代码可以从公式代码库中获取,公式代码库为存储latex公式代码的区域,latex公式代码从题目代码中获取到以后就进入此区域进行存储,以便后续进行latex公式代码转存时能够快速直接地获取。在此种情况下,从题目代码中获取latex公式代码的处理可以和latex代码的转存分开处理,首先从题目代码中获取latex公式代码存储至公式代码库,当需要进行latex公式代码转存时,在进行转存,无需同时进行。
并且,为了防止相同的latex公式代码经过多次转存,造成资源的浪费和效率的下降,公式代码库中所存储的latex公式代码均为不同的latex公式代码,为此,在从题目代码中获取latex公式代码时,可以首先从题目代码中找出latex公式代码,然后为latex公式代码分配公式标识,并保证相同的latex公式代码具有相同的公式标识,然后将公式标识不同的latex公式代码存储至公式代码库,也就是相同的latex公式代码仅有一个会存储至公式代码库。
当然,相同的latex公式代码仅有一个会存储至公式代码库的要求,不仅包含了从题目代码中获取latex公式代码之间不相同的情况,还包含了从题目代码中获取latex公式代码与已经存储于公式代码库中的latex公式代码不相同的情况,只有当所述从题目代码中获取的latex公式代码的公式标识与所述公式代码库中已存储的各所述latex公式代码的公式标识均不相同时,将所述从题目代码中获取的latex公式代码存储至所述公式代码库,并标记为所述待转存latex公式代码。
可以理解的是,同时进行latex公式代码分类的题目代码的范围可以是随机的,既可以是一道题目、一套题目,也可以是多套题目,对一次需要分离的题目代码进行latex公式代码的分离时,在确定范围的题目代码中将全部的latex公式分离出来,然后为latex公式代码分配公式标识,选出公式标识不同的latex公式代码(具有相同公式代码的latex公式仅选一个),然后再与公式代码库中已有的latex公式代码的公式标识进行比较,得到与公式代码库中已有的latex公式代码,存储至公式代码库,为后续的转存做好准备。
在一种具体实施方式中,latex公式代码的公式标识可以利用哈希(hash)算法进行分配,哈希算法不仅具有较高的分配速度,而且具有较高的分配准确率。
另一方面,可以理解的是,首次分离获取latex公式代码并将其存储至公式代码库,且未进行公式图片的转存时,公式代码库中的latex公式代码仅包括待转存latex公式代码,而除了前述情况下,公式代码库中,通常会同时存储有已转存latex公式代码和待转存latex公式代码。
在一种具体实施方式中,为了方便快速找到待转存latex公式代码,还可以给latex公式代码添加状态标识,比如:1代表已转存,0代表待转存,则在仅从latex公式代码转存时,仅获取状态标识未0的latex公式代码,减小了运算量,提高了处理速度。而且,在待转存latex公式代码完成转存后,待转存latex公式代码即转变为已转存latex公式代码,相应的,状态标识就转变为1。
进一步地,还可以将待转存latex公式代码和已转存latex公式代码分别存储,从而当进行latex公式代码的转存时,只需要从待转存latex公式代码库中获取。
在一种具体实施例中,为了方便获取latex公式代码,公式代码库中的latex公式代码还可以按照一定的顺序进行存储,比如:按照是否已进行转存进行存储。在其他实施方式中,还可以将公式代码库中的待转存latex公式代码按照不同的题目顺序进行存储,从而将属于同一题目的待转存latex公式代码排在相邻的位置,在进行公式图片的转存时,可以优先完成属于同一题目的待转存latex公式代码的转存。
为方便查找属于同一题目的待转存latex公式代码,可以在获取latex公式代码后,为latex公式代码分配所属题目标识,基于所属题目标识,可以快速地找到属于同一题目的待转存latex公式代码,并排列至相邻位置。
步骤S11:将所述待转存latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配。
将前述待转存latex公式代码进行处理,以获取字体大小与显示设备对于字体大小的要求相匹配的目标矢量图,保证后续客户端所得到的公式图片的与文字混排后的字体相一致,保证版面的美观性。
目标矢量图的获取方式可以有多种,比如可以首先确定目标矢量图中的字体大小,然后基于字体大小,直接生成目标矢量图。
在另一种具体实施方式中,为了降低目标矢量图的获取难度,本发明实施例还提供另一种将latex公式代码转存成公式图片的方法,请参考图3,图3是本发明实施例另一种将latex公式代码转存成公式图片的方法的部分流程示意图。
如图中所示,为了保证目标矢量图的顺利获取,本发明实施例所提供的将latex公式代码转存成公式图片的方法中的步骤S11,具体可以包括图3中所示的部分步骤。
步骤S212:将所述待转存latex公式代码解析渲染成原始矢量图。
利用latex公式代码渲染系统,首先将所述的待转存latex公式代码解析渲染成原始矢量图,由于矢量图具有尺寸可调整的特点,因此生成原始矢量图就为后续调整得到目标矢量图提供了基础。
步骤S213:根据显示设备对字体显示的尺寸要求,调整所述原始矢量图的大小,得到所述目标矢量图。
得到原始矢量图后,由于原始矢量图的尺寸不一定满足显示设备对于公式图片的要求,再根据显示设备对字体显示的尺寸要求对原始矢量图进行尺寸调整,使得调整后的矢量图中的字体在显示设备中进行显示时,与显示设备的文本字体大小、高度、粗细基本相同,肉眼无法区分是图片还是文字,得到目标矢量图。
在一种具体实施方式中,为了方便确定所需要确定的目标矢量图中的字体大小,经过多次调整实验,确定目标矢量图字体大小与显示设备的显示字体大小之间的关系为:
目标矢量图字体大小=(显示字体大小±3px)×2:
比如:在大多数情况下12px-18px字体大小比较适宜人眼的阅读,个人电脑(也就是常说的H5端)内容字体大小一般是14px,安卓手机与苹果手机的字体大小一般是14px或16px字体,通过上面的公式进行计算,得出的目标矢量图的字体大小范围为18px-42px,选取中间值30px,反向运算,不论是个人电脑还是安卓手机和苹果手机,都在其支持区间内,因此可以将目标矢量图字体大小定为30px,从而保证了图片与多端设备显示的适配性,提高了可应用的范围。
在其他实施方式中,可以根据显示设备的要求,将目标矢量图字体大小确定为其他值,比如:18px,20px,25px,40px等等,只要能够与显示设备对于显示字体大小的要求相匹配即可。
在另一种具体实施方式中,为了保证转存过程的顺利进行,降低出错率,本发明所提供的将latex公式代码转存成公式图片的方法,还可以在对待转存latex公式代码进行转存前,检查转存latex公式代码的语法错误。
请继续参考图3,步骤S212之前可以包括步骤S211:对所述待转存latex公式代码进行语法检查,并纠正语法错误。
在对latex公式代码进行解析渲染前,对待转存latex公式代码进行语法检查,对于不符合latex语法的代码数据通过纠错系统进行纠错处理,然后再对纠错完成或者不存在语法错误的待转存latex公式代码进行渲染解析等处理,得到目标矢量图。
具体地,纠错处理可以包括:将多余的空格去除,中文标点符号转换为英文标点符号,多行公式转换为单行公式等等。
请继续参考图2,在完成目标矢量图的获取后,再继续后续步骤的执行。
步骤S12:将所述目标矢量图转存为公式图片。
当得到了目标矢量图后,为了方便图片的存储,并减小所占用的空间,因此需要把目标矢量图转存为公式图片,即普通的图片,具体公式图片的类型可以为:jpg格式、gif格式、png格式等等多种图片类型,只要能够方便保存都是可以的。
步骤S13:截取并保存所述公式图片。
完成公式图片的转存后,再获取公式图片所对应的代码,然后将上述公式图片代码截取出来。
所述所截取的公式图片可以为二进制代码图片,即截取对应公式图片的二进制代码。
具体可以通过前端Html5+JS的Canvas绘图组件,实现将渲染出来的目标矢量图所对应的公式图片截取出来。
并将截取的公式图片进行保存,为方便保存后图片的易查找性,会按照一定的规则对公式图片代码进行保存,并且可以采用MD5作为文件名。
可以理解的是,在另一种具体实施方式中,为节省空间,还可以包括步骤S14:释放所述待转存latex公式代码和所属目标矢量图的存储空间。
在完成公式图片代码的截取和发送后,则可以清理目标矢量图的存储空间以及渲染系统中的待转存latex公式代码,释放所占用的空间,为后续的处理提供资源。
可以看出,本发明实施例所提供的将latex公式代码转存成公式图片的方法,将latex公式代码转存为公式图片,当需要进行公式的传输和显示时,可以直接进行公式图片的传输和显示,从而无需将latex公式代码暴漏至互联网上,降低了latex公式代码的泄露风险;同时,在显示设备端,仅需要将公式图片进行显示,而无需进行latex公式代码的渲染,避免了渲染显示过程对于软件工具包以及字体库的依赖,也降低了对于网络传输速度的依赖,提高了传输和显示效率;进一步地,本发明实施例所提供的将latex公式代码转存成公式图片的方法,所生成的目标矢量图的字体大小,与显示设备对显示字体大小的要求相匹配,从而保证了最终保存的公式图片中的字体大小与显示设备对显示字体大小的要求相匹配,进而使得显示设备所显示的公式图片的清晰度较高。
可以看出,前述的公式图片的获取是在服务器端进行的,实现了获取和保存,当客户端需要获取图片时,从客户端发送获取请求,然后服务器端通过获取请求找到对应的公式图片并发送至客户端,以便客户端进行显示。
然而,由于公式图片中的公式会出现多行的情况,并且为了保证服务器端所存储的公式图片能够满足不同设备的显示,所确定的公式图片中的字体大小可能是适应性较广的数值,比如:当将公式图片中的字体大小确定为30px时,可以适应的范围为12px-18px的文本字体大小显示范围,但实际显示时,12px的文本字体与18px的文本字体明显大小不同,如果直接将经过本发明实施例所提供的将latex公式代码转存为公式图片的方法所得到得公式图片进行显示,会造成在显示设备中显示的公式图片的字体大小与文本之间的字体大小不同,为了在显示设备中进行公式图片显示时,保证公式图片与文本之间的适配性,在接收端接收到公式图片时还需要进行处理,为此本发明实施例还提供了一种显示显示公式图片的获取方法。
请参考图4,图4为本发明实施例所提供的显示公式图片的获取方法的流程示意图。
如图中所示,本发明实施例所提供的显示公式图片的获取方法,包括以下步骤:
步骤S30:向服务器发送公式图片的图片获取请求。
当用户需要打开包含公式的题目时,客户端(包含显示设备)会向服务器端发送对应公式的公式图片的获取请求。
具体地,上述客户端可以包括个人电脑、苹果手机、安卓手机等等中的任何一种。
通常情况下,用户可以通过安装于客户端的APP或者相应的网页打开对应的题目,发出图片获取请求。
所述公式图片为本发明实施例所提供的将latex公式代码转存为公式图片的方法所得到。
步骤S31:接收所述服务器发出的所述公式图片信息,所述公式图片信息包括公式图片和公式图片尺寸。
服务器接收到上述图片获取请求后,会根据图片获取请求中的信息,在前述的存储器中查找对应的公式图片,并将公式图片信息发送至客户端,其中公式图片信息包含相应的公式图片以及公式图片尺寸。
客户端接收所述的公式图片信息,即接收具体的公式图片和公式图片尺寸。
步骤S32:根据显示字体的字体尺寸和所述公式图片尺寸确定缩放系数,缩放所述公式图片,得到显示公式图片,所述显示公式图片的文字尺寸与所述字体尺寸相匹配。
得到公式图片信息后,基于客户端(包含显示设备)对显示字体的字体尺寸要求和具体的公式图片尺寸,确定缩放系数,在客户端缩放公式图片,从而得到最终在显示设备上进行显示的显示公式图片,显示公式图片的文字尺寸与所述字体尺寸相匹配。
为保证缩放效果,上述缩放系数的范围可以为1.5-2.6之间。具体基于显示公式图片的文字尺寸不同可以有不同的选择:18px字体可以选择1.67,17px字体可以选择1.76,16px字体可以选择1.88,15px字体可以选择2.0,14px字体可以选择2.14,13px字体可以选择2.3,12px字体可以选择2.5。
例如:电脑端文字14px字体显示单行公式时可以选择2.14缩放系数进行缩放显示:公式图片尺寸/2.14得到公式虚拟高度,进行与显示装置的文本混排显示。
通过对公式图片的缩放,实现了公式图片在显示设备上进行显示时与文本的适配性。
下面站在发送端的角度,对本发明实施例提供的将latex公式代码转存成公式图片的装置进行介绍,下文描述的将latex公式代码转存成公式图片的装置可以认为是,发送端(如:服务器)为实现本发明实施例提供的将latex公式代码转存成公式图片的方法所需设置的功能模块架构。下文描述的将latex公式代码转存成公式图片的装置的内容,可与上文描述的将latex公式代码转存成公式图片的方法的内容相互对应参照。
图5是本发明实施例所提供的将latex公式代码转存成公式图片的装置的一框图,该将latex公式代码转存成公式图片的装置应用于终端,参考图5,该将latex公式代码转存成公式图片的装置可以包括:
公式代码获取装置100,适于获取待转存latex公式代码;
目标矢量图获取装置110,适于将所述待转存latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配;
公式图片转存装置120,适于将所述目标矢量图转存为公式图片;
截取及保存装置130,适于截取并保存所述公式图片。
在一种具体是实施例中,公式代码获取装置100可以直接从题目代码中获取待转存latex公式代码,然后发送至目标矢量图获取装置110,并最终实现将待转存latex公式代码转存成公式图片。
在另一种具体实施方式中,公式代码获取装置100还可以从公式代码库中获取待转存latex公式代码,其中,公式代码库为存储latex公式代码的区域,latex公式代码从题目代码中获取到以后就进入此区域进行存储,以便后续进行latex公式代码转存时能够快速直接地获取。在此种情况下,从题目代码中获取latex公式代码的处理可以和latex代码的转存分开处理,首先从题目代码中获取latex公式代码存储至公式代码库,当需要进行latex公式代码转存时,在进行转存,无需同时进行。
并且,为了防止相同的latex公式代码经过多次转存,造成资源的浪费和效率的下降,公式代码库中所存储的latex公式代码均为不同的latex公式代码,为此,在从题目代码中获取latex公式代码时,可以首先从题目代码中找出latex公式代码,然后为latex公式代码分配公式标识,并保证相同的latex公式代码具有相同的公式标识,然后将公式标识不同的latex公式代码存储至公式代码库,也就是相同的latex公式代码仅有一个会存储至公式代码库。
当然,相同的latex公式代码仅有一个会存储至公式代码库的要求,不仅包含了从题目代码中获取latex公式代码之间不相同的情况,还包含了从题目代码中获取latex公式代码与已经存储于公式代码库中的latex公式代码不相同的情况,只有当所述从题目代码中获取的latex公式代码的公式标识与所述公式代码库中已存储的各所述latex公式代码的公式标识均不相同时,将所述从题目代码中获取的latex公式代码存储至所述公式代码库,并标记为所述待转存latex公式代码。
可以理解的是,同时进行latex公式代码分类的题目代码的范围可以是随机的,既可以是一道题目、一套题目,也可以是多套题目,对一次需要分离的题目代码进行latex公式代码的分离时,在确定范围的题目代码中将全部的latex公式分离出来,然后为latex公式代码分配公式标识,选出公式标识不同的latex公式代码(具有相同公式代码的latex公式仅选一个),然后再与公式代码库中已有的latex公式代码的公式标识进行比较,得到与公式代码库中已有的latex公式代码,存储至公式代码库,为后续的转存做好准备。
在一种具体实施方式中,latex公式代码的公式标识可以利用哈希(hash)算法进行分配,哈希算法不仅具有较高的分配速度,而且具有较高的分配准确率。
另一方面,可以理解的是,首次分离获取latex公式代码并将其存储至公式代码库,且未进行公式图片的转存时,公式代码库中的latex公式代码仅包括待转存latex公式代码,而除了前述情况下,公式代码库中,通常会同时存储有已转存latex公式代码和待转存latex公式代码。
在一种具体实施方式中,为了方便快速找到待转存latex公式代码,还可以给latex公式代码添加状态标识,比如:1代表已转存,0代表待转存,则在仅从latex公式代码转存时,仅获取状态标识未0的latex公式代码,减小了运算量,提高了处理速度。而且,在待转存latex公式代码完成转存后,待转存latex公式代码即转变为已转存latex公式代码,相应的,状态标识就转变为1。
进一步地,还可以将待转存latex公式代码和已转存latex公式代码分别存储,从而当进行latex公式代码的转存时,只需要从待转存latex公式代码库中获取。
在一种具体实施例中,为了方便获取latex公式代码,公式代码库中的latex公式代码还可以按照一定的顺序进行存储,比如:按照是否已进行转存进行存储。在其他实施方式中,还可以将公式代码库中的待转存latex公式代码按照不同的题目顺序进行存储,从而将属于同一题目的待转存latex公式代码排在相邻的位置,在进行公式图片的转存时,可以优先完成属于同一题目的待转存latex公式代码的转存。
为方便查找属于同一题目的待转存latex公式代码,可以在获取latex公式代码后,为latex公式代码分配所属题目标识,基于所属题目标识,可以快速地找到属于同一题目的待转存latex公式代码,并排列至相邻位置。
公式代码获取装置100获取到待转存latex公式代码后,发送至目标矢量图获取装置110,目标矢量图获取装置110适于将所述待转存latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配。
目标矢量图获取装置110对待转存latex公式代码进行处理,以获取字体大小与显示设备对于字体大小的要求相匹配的目标矢量图,保证后续客户端所得到的公式图片的与文字混排后的字体相一致,保证版面的美观性。
目标矢量图的获取方式可以有多种,比如可以首先确定目标矢量图中的字体大小,然后基于字体大小,直接生成目标矢量图。
在另一种具体实施方式中,为了降低目标矢量图的获取难度,本发明实施例所提供的将latex公式代码转存为公式图片的装置的目标矢量图获取装置110可以包括多个单元,请参考图6,图6是本发明实施例所提供的将latex公式代码转存成公式图片的装置的目标矢量图获取装置的框图。
原始矢量图获取单元210,适于将所述待转存latex公式代码解析渲染成原始矢量图;
尺寸调整单元220,适于根据显示设备对字体显示的尺寸要求,调整所述原始矢量图的大小,得到所述目标矢量图。
原始矢量图获取单元210,利用latex公式代码渲染系统,首先将所述的待转存latex公式代码解析渲染成原始矢量图,由于矢量图具有尺寸可调整的特点,因此生成原始矢量图就为后续调整得到目标矢量图提供了基础。
原始矢量图获取单元210得到原始矢量图后,发送至尺寸调整单元220,由于原始矢量图的尺寸不一定满足显示设备对于公式图片的要求,尺寸调整单元220再根据显示设备对字体显示的尺寸要求对原始矢量图进行尺寸调整,使得调整后的矢量图中的字体与显示设备的字体大小、高度、粗细基本相同,肉眼无法区分是图片还是文字,得到目标矢量图。
在一种具体实施方式中,为了方便确定所需要确定的目标矢量图中的字体大小,经过多次调整实验,确定目标矢量图字体大小与显示设备的显示字体大小之间的关系为:
目标矢量图字体大小=(显示字体大小±3px)×2:
比如:在大多数情况下12px-18px字体大小比较适宜人眼的阅读,个人电脑(也就是常说的H5端)内容字体大小一般是14px,安卓手机与苹果手机的字体大小一般是14px或16px字体,通过上面的公式进行计算,得出的目标矢量图的字体大小范围为18px-42px,选取中间值30px,反向运算,不论是个人电脑还是安卓手机和苹果手机,都在其支持区间内,因此可以将目标矢量图字体大小定为30px,从而保证了图片与多端设备显示的适配性,提高了可应用的范围。
在其他实施方式中,可以根据显示设备的要求,将目标矢量图字体大小确定为其他值,比如:18px,20px,25px,40px等等,只要能够与显示设备对于显示字体大小的要求相匹配即可。
在另一种具体实施方式中,本发明实施例所提供的将latex公式代码转存成公式图片的装置的目标矢量图获取装置110还包括语法查找纠错单元200,适于对所述待转存latex公式代码进行语法检查,并纠正语法错误。
语法查找纠错单元200可以在对latex公式代码进行解析渲染前,对待转存latex公式代码进行语法检查,对于不符合latex语法的代码数据通过纠错系统进行纠错处理,然后再对纠错完成或者不存在语法错误的待转存latex公式代码进行渲染解析等处理,得到目标矢量图。
具体地,纠错处理可以包括:将多余的空格去除,中文标点符号转换为英文标点符号,多行公式转换为单行公式等等。
当目标矢量图获取装置110得到了目标矢量图后,为了方便图片的存储,并减小所占用的空间,公式图片转存装置120再把目标矢量图转存为公式图片,即普通的图片,具体公式图片的类型可以为:jpg格式、gif格式、png格式等等多种图片类型,只要能够方便保存都是可以的。
转存完成后,截取及保存装置130再截取并保存所述公式图片。所述所截取的公式图片可以为二进制代码图片,即截取对应公式图片的二进制代码。
具体可以通过前端Html5+JS的Canvas绘图组件,实现将渲染出来的目标矢量图所对应的公式图片截取出来。
并将截取的公式图片进行保存,为方便保存后图片的易查找性,会按照一定的规则对公式图片代码进行保存,并且可以采用MD5作为文件名。
当然,请继续参考图5,在另一种具体实施方式中,为节省空间,本发明实施例所提供的将latex公式代码转存为公式图片的装置还可以包括:存储空间释放装置140,适于释放所述待转存latex公式代码和所属目标矢量图的存储空间。
在完成公式图片代码的截取和发送后,存储空间释放装置140则可以清理目标矢量图的存储空间以及渲染系统中的待转存latex公式代码,释放所占用的空间,为后续的处理提供资源。
可以看出,本发明实施例所提供的将latex公式代码转存成公式图片的装置,实现了将latex公式代码转存为公式图片,当需要进行公式的传输和显示时,可以直接进行公式图片的传输和显示,从而无需将latex公式代码暴漏至互联网上,降低了latex公式代码的泄露风险;同时,在显示设备端,仅需要将公式图片进行显示,而无需进行latex公式代码的渲染,避免了渲染显示过程对于软件工具包以及字体库的依赖,也降低了对于网络传输速度的依赖,提高了传输和显示效率;进一步地,本发明实施例所提供的将latex公式代码转存成公式图片的装置,所生成的目标矢量图的字体大小,与显示设备对显示字体大小的要求相匹配,从而保证了最终保存的公式图片中的字体大小与显示设备对显示字体大小的要求相匹配,进而使得显示设备所显示的公式图片的清晰度较高,并且公式图片中字体粗细、宽高的相似度较高。
本发明实施例提供的终端可以通过程序形式装载上述所述的程序模块架构,以实现本发明实施例提供的将latex公式代码转存成公式图片的方法;可选的,图7示出了本发明实施例提供的发送端设备的一种可选硬件架构,可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本发明实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;显然,图7所示的处理器1、通信接口2、存储器3和通信总线4的通信连接示意仅是可选的一种方式;
可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,存储器3存储有程序,处理器1调用存储器3所存储的程序,以实现本发明实施例提供的将latex公式代码转存成公式图片的方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,当该指令被处理器执行时可以实现如上所述将latex公式代码转存成公式图片的方法。
将latex公式代码转存成公式图片的方法包括获取待转存latex公式代码;将所述待转存的latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配;将所述目标矢量图转存为公式图片;截取并保存所述公式图片。
这样,在将latex公式代码转存成图片时,首先获取需要进行转存的latex公式代码,即待转存latex公式代码,然后,将待转存的latex公式代码进行处理,得到需要的目标矢量图,目标矢量图需要满足图中的字体大小和后续进行图片显示的显示设备对显示字体大小的要求,然后将目标矢量图转存为公式图片,再将公式图片进行截取和保存即可。
可见,本发明实施例所提供的将latex公式代码转存成公式图片的方法,将latex公式代码转存为公式图片,当需要进行公式的传输和显示时,可以直接进行公式图片的传输和显示,从而无需将latex公式代码暴漏至互联网上,降低了latex公式代码的泄露风险;同时,在显示设备端,仅需要将公式图片进行显示,而无需进行latex公式代码的渲染,避免了渲染显示过程对于软件工具包以及字体库的依赖,也降低了对于网络传输速度的依赖,提高了传输和显示效率;进一步地,本发明实施例所提供的将latex公式代码转存成公式图片的方法,所生成的目标矢量图的字体大小,与显示设备对显示字体大小的要求相匹配,从而保证了最终保存的公式图片中的字体大小与显示设备对显示字体大小的要求相匹配,进而使得显示设备所显示的公式图片的清晰度较高,并且公式图片中字体粗细、宽高的相似度较高。
上述本发明的实施方式是本发明的元件和特征的组合。除非另外提及,否则所述元件或特征可被视为选择性的。各个元件或特征可在不与其它元件或特征组合的情况下实践。另外,本发明的实施方式可通过组合部分元件和/或特征来构造。本发明的实施方式中所描述的操作顺序可重新排列。任一实施方式的一些构造可被包括在另一实施方式中,并且可用另一实施方式的对应构造代替。对于本领域技术人员而言明显的是,所附权利要求中彼此没有明确引用关系的权利要求可组合成本发明的实施方式,或者可在提交本申请之后的修改中作为新的权利要求包括。
本发明的实施方式可通过例如硬件、固件、软件或其组合的各种手段来实现。在硬件配置方式中,根据本发明示例性实施方式的方法可通过一个或更多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等来实现。
在固件或软件配置方式中,本发明的实施方式可以模块、过程、功能等形式实现。软件代码可存储在存储器单元中并由处理器执行。存储器单元位于处理器的内部或外部,并可经由各种己知手段向处理器发送数据以及从处理器接收数据。
下面站在接收端的角度,对本发明实施例提供的显示公式图片的获取装置进行介绍,下文描述的显示公式图片的获取装置可以认为是,接收端设备为实现本发明实施例提供的显示公式图片的获取方法所需设置的功能模块架构。下文描述的显示公式图片的获取装置的内容,可与上文描述的显示公式图片的获取方法的内容相互对应参照。
图8是本发明实施例提供的显示公式图片的获取装置的一框图,该显示公式图片的获取装置可应用于接收端设备,参照图8,该显示公式图片的获取装置可以包括:
图片获取请求发送装置300,适于向服务器发送公式图片的图片获取请求;
公式图片信息接收装置310,适于接收所述服务器发出的公式图片信息,所述公式图片信息包括公式图片和公式图片尺寸;
公式图片尺寸调整装置320,适于根据显示字体的字体尺寸和所述公式图片尺寸确定缩放系数,缩放所述公式图片,得到显示公式图片,所述显示公式图片的文字尺寸与所述字体尺寸相匹配。
可以理解的是,上述文字尺寸即为显示公式图片的字体尺寸,为描述方便,将显示公式图片中的文字大小用文字尺寸描述,将显示时对字体大小的要求用字体尺寸描述。
当用户需要打开包含公式的题目时,客户端的图片获取请求发送装置300会向服务器端发送对应公式的公式图片的获取请求。
具体地,上述客户端可以包括个人电脑、苹果手机、安卓手机等等中的任何一种。
客户端的图片获取请求发送装置300可以为安装于客户端的APP等软件中的模块。
服务器接收到上述图片获取请求后,会根据图片获取请求中的信息,在前述的存储器中查找对应的公式图片,并将公式图片信息发送至客户端,其中公式图片信息包含相应的公式图片以及公式图片尺寸。
客户端的公式图片信息接收装置310接收所述的公式图片信息。
得到公式图片信息后,基于客户端(包含显示设备)对显示字体的字体尺寸要求和具体的公式图片尺寸,公式图片尺寸调整装置320确定缩放系数,在客户端缩放公式图片,从而得到最终在显示设备上进行显示的显示公式图片,显示公式图片的文字尺寸与所述字体尺寸相匹配。
为保证缩放效果,上述缩放系数的范围可以为1.5-2.6之间。具体基于显示公式图片的文字尺寸不同可以有不同的选择:18px字体可以选择1.67,17px字体可以选择1.76,16px字体可以选择1.88,15px字体可以选择2.0,14px字体可以选择2.14,13px字体可以选择2.3,12px字体可以选择2.5。
例如:电脑端文字14px字体显示单行公式时可以选择2.14缩放系数进行缩放显示:公式图片尺寸/2.14得到公式虚拟高度,进行与显示装置中的文本混排显示。
可见,本发明实施例所提供的显示公式图片的获取装置,通过对公式图片的缩放,实现了公式图片在显示时与文本的适配性。
本发明实施例提供的接收端可以通过程序形式装载上述所述的程序模块架构,以实现本发明实施例提供的接收端的显示公式图片的获取方法;可选的,接收端的硬件架构可一同参照图7所示,包括:至少一个存储器和至少一个处理器;
其中,存储器存储有程序,处理器调用所述程序,以实现本发明实施例提供的显示公式图片的获取方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,当该指令被处理器执行时可以实现如上所述显示公式图片的获取方法。
向服务器发送公式图片的图片获取请求;接收所述服务器发出的公式图片信息,所述公式图片信息包括公式图片和公式图片尺寸;根据显示字体的字体尺寸和所述公式图片尺寸确定缩放系数,缩放所述公式图片,得到显示公式图片,所述显示公式图片的文字尺寸与所述字体尺寸相匹配。通过对公式图片的缩放,最终实现了所得到的公式图片在显示时与文本的适配性。
上述本发明的实施方式是本发明的元件和特征的组合。除非另外提及,否则所述元件或特征可被视为选择性的。各个元件或特征可在不与其它元件或特征组合的情况下实践。另外,本发明的实施方式可通过组合部分元件和/或特征来构造。本发明的实施方式中所描述的操作顺序可重新排列。任一实施方式的一些构造可被包括在另一实施方式中,并且可用另一实施方式的对应构造代替。对于本领域技术人员而言明显的是,所附权利要求中彼此没有明确引用关系的权利要求可组合成本发明的实施方式,或者可在提交本申请之后的修改中作为新的权利要求包括。
本发明的实施方式可通过例如硬件、固件、软件或其组合的各种手段来实现。在硬件配置方式中,根据本发明示例性实施方式的方法可通过一个或更多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等来实现。
在固件或软件配置方式中,本发明的实施方式可以模块、过程、功能等形式实现。软件代码可存储在存储器单元中并由处理器执行。存储器单元位于处理器的内部或外部,并可经由各种己知手段向处理器发送数据以及从处理器接收数据。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是符合与本文所公开的原理和新颖特点相一致的最宽的范围。
虽然本发明实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (17)
1.一种将latex公式代码转存成公式图片的方法,其特征在于,包括:
获取待转存latex公式代码;
将所述待转存latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配;
将所述目标矢量图转存为公式图片;
截取并保存所述公式图片。
2.如权利要求1所述的将latex公式代码转存成公式图片的方法,其特征在于,所述将所述待转存latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配的步骤包括:
将所述待转存latex公式代码解析渲染成原始矢量图;
根据显示设备对字体显示的尺寸要求,调整所述原始矢量图的大小,得到所述目标矢量图。
3.如权利要求2所述的将latex公式代码转存成公式图片的方法,其特征在于,所述将所述待转存latex公式代码解析渲染成原始矢量图的步骤之前还包括:
对所述待转存latex公式代码进行语法检查,并纠正语法错误。
4.如权利要求3所述的将latex公式代码转存成公式图片的方法,其特征在于,所述获取待转存latex公式代码的步骤包括:
从公式代码库的中获取所述待转存latex公式代码,所述公式代码库存储有从题目代码中获取的latex公式代码,所述公式代码库中的各latex公式代码均不相同。
5.如权利要求4所述的将latex公式代码转存成公式图片的方法,其特征在于,所述latex公式代码包括与其相匹配的公式标识;
当所述从题目代码中获取的latex公式代码的公式标识与所述公式代码库中已存储的各所述latex公式代码的公式标识均不相同时,将所述从题目代码中获取的latex公式代码存储至所述公式代码库,并标记为所述待转存latex公式代码。
6.如权利要求5所述的将latex公式代码转存成公式图片的方法,其特征在于,利用哈希算法为所述latex公式代码分配所述公式标识。
7.如权利要求4-6任一项所述的将latex公式代码转存成公式图片的方法,其特征在于,所述待转存latex公式代码还包括所属题目标识;所述公式代码库按照所述所属题目标识排列所述待转存latex公式代码;
所述从所述公式代码库中获取所述待转存的latex公式代码的步骤包括:
按照排列顺序从所述公式代码库中获取所述待转存latex公式代码。
8.如权利要求1-6任一项所述的将latex公式代码转存成公式图片的方法,其特征在于,
所述公式图片为二进制代码图片。
9.如权利要求1-6任一项所述的将latex公式代码转存成公式图片的方法,其特征在于,
所述目标矢量图的字体大小的计算公式为:
目标矢量图字体大小=(显示字体大小±3px)×2。
10.一种显示公式图片的获取方法,其特征在于,包括:
向服务器发送公式图片的图片获取请求;
接收所述服务器发出的公式图片信息,所述公式图片信息包括公式图片和公式图片尺寸;
根据显示字体的字体尺寸和所述公式图片尺寸确定缩放系数,缩放所述公式图片,得到显示公式图片,所述显示公式图片的文字尺寸与所述显示字体的字体尺寸相匹配。
11.如权利要求10所述的显示公式图片的获取方法,其特征在于:所述缩放系数的范围为1.5-2.6。
12.一种将Latex公式代码转存成图片的装置,其特征在于,包括:
公式代码获取装置,适于获取待转存latex公式代码;
目标矢量图获取装置,适于将所述待转存latex公式代码进行处理,得到目标矢量图,所述目标矢量图的字体大小与显示设备对显示字体大小的要求相匹配;
公式图片转存装置,适于将所述目标矢量图转存为公式图片;
截取及保存装置,适于截取并保存所述公式图片。
13.一种服务器端设备,其特征在于,包括至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述程序,以执行如权利要求1-9任一项所述的将latex公式代码转存成公式图片的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,其特征在于,当该指令被处理器执行时可以实现如权利要求1-9任一项所述的将latex公式代码转存成公式图片的方法。
15.一种显示公式图片的获取装置,其特征在于,包括:
图片获取请求发送装置,适于向服务器发送公式图片的图片获取请求;
公式图片信息接收装置,适于接收所述服务器发出的公式图片信息,所述公式图片信息包括公式图片和公式图片尺寸;
公式图片尺寸调整装置,适于根据显示字体的字体尺寸和所述公式图片尺寸确定缩放系数,缩放所述公式图片,得到显示公式图片,所述显示公式图片的文字尺寸与所述字体尺寸相匹配。
16.一种接收端设备,其特征在于,包括至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述程序,以执行如权利要求10或11所述的显示公式图片的获取方法。
17.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,其特征在于,当该指令被处理器执行时可以实现如权利要求10或11所述的显示公式图片的获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910099508.4A CN111507067A (zh) | 2019-01-31 | 2019-01-31 | 显示公式图片的获取方法、转存公式图片的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910099508.4A CN111507067A (zh) | 2019-01-31 | 2019-01-31 | 显示公式图片的获取方法、转存公式图片的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111507067A true CN111507067A (zh) | 2020-08-07 |
Family
ID=71864671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910099508.4A Pending CN111507067A (zh) | 2019-01-31 | 2019-01-31 | 显示公式图片的获取方法、转存公式图片的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111507067A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199538A (zh) * | 2020-09-30 | 2021-01-08 | 北京达佳互联信息技术有限公司 | 图片处理方法、装置、电子设备、系统及存储介质 |
CN113448563A (zh) * | 2021-08-24 | 2021-09-28 | 中奥智能工业研究院(南京)有限公司 | 一种LaTeX在线协作平台 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177419A (zh) * | 2011-12-23 | 2013-06-26 | 上海为舟网络科技有限公司 | 一种矢量图转位图的缓存方法及其专用图像处理设备 |
CN104699833A (zh) * | 2015-03-31 | 2015-06-10 | 北京奇艺世纪科技有限公司 | 一种图片展示和存储方法及装置 |
US20170337423A1 (en) * | 2015-08-26 | 2017-11-23 | Beijing Lejent Technology Co., Ltd | Method for Structural Analysis and Recongnigiton of Handwritten Mathematical Formula in Natural Scene Image |
CN108241847A (zh) * | 2016-12-27 | 2018-07-03 | 北京新唐思创教育科技有限公司 | 一种文本识别中的拉泰赫格式公式处理方法及其装置 |
CN108399156A (zh) * | 2018-02-28 | 2018-08-14 | 北京仁和汇智信息技术有限公司 | 一种pdf文件中公式的排版方法及装置 |
CN108734662A (zh) * | 2018-05-21 | 2018-11-02 | 腾讯音乐娱乐科技(深圳)有限公司 | 显示图标的方法和装置 |
-
2019
- 2019-01-31 CN CN201910099508.4A patent/CN111507067A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177419A (zh) * | 2011-12-23 | 2013-06-26 | 上海为舟网络科技有限公司 | 一种矢量图转位图的缓存方法及其专用图像处理设备 |
CN104699833A (zh) * | 2015-03-31 | 2015-06-10 | 北京奇艺世纪科技有限公司 | 一种图片展示和存储方法及装置 |
US20170337423A1 (en) * | 2015-08-26 | 2017-11-23 | Beijing Lejent Technology Co., Ltd | Method for Structural Analysis and Recongnigiton of Handwritten Mathematical Formula in Natural Scene Image |
CN108241847A (zh) * | 2016-12-27 | 2018-07-03 | 北京新唐思创教育科技有限公司 | 一种文本识别中的拉泰赫格式公式处理方法及其装置 |
CN108399156A (zh) * | 2018-02-28 | 2018-08-14 | 北京仁和汇智信息技术有限公司 | 一种pdf文件中公式的排版方法及装置 |
CN108734662A (zh) * | 2018-05-21 | 2018-11-02 | 腾讯音乐娱乐科技(深圳)有限公司 | 显示图标的方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199538A (zh) * | 2020-09-30 | 2021-01-08 | 北京达佳互联信息技术有限公司 | 图片处理方法、装置、电子设备、系统及存储介质 |
CN112199538B (zh) * | 2020-09-30 | 2023-12-12 | 北京达佳互联信息技术有限公司 | 图片处理方法、装置、电子设备、系统及存储介质 |
CN113448563A (zh) * | 2021-08-24 | 2021-09-28 | 中奥智能工业研究院(南京)有限公司 | 一种LaTeX在线协作平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150262031A1 (en) | Method And Apparatus For Identifying Picture | |
CN109684008B (zh) | 卡片渲染方法、装置、终端及计算机可读存储介质 | |
EP3273388A1 (en) | Image information recognition processing method and device, and computer storage medium | |
CN107656911B (zh) | 表格处理方法及其系统 | |
US11099889B2 (en) | Method-call-chain tracking method, electronic device, and computer readable storage medium | |
US20150154149A1 (en) | Typesetting method, device and system | |
CN108322789B (zh) | 一种网络图片显示方法、装置及移动终端 | |
CN111782758A (zh) | 基于cad的图纸审查结果查看方法及相关装置 | |
CN111507067A (zh) | 显示公式图片的获取方法、转存公式图片的方法及装置 | |
CN112417899A (zh) | 文字翻译方法、装置、计算机设备和存储介质 | |
CN111145202B (zh) | 模型生成方法、图像处理方法、装置、设备及存储介质 | |
CN111754414B (zh) | 一种图像处理方法、装置和用于图像处理的装置 | |
JP2019522847A (ja) | データを抽出するための方法、デバイス及び端末デバイス | |
CN106682130B (zh) | 相似图片检测方法和装置 | |
CN113051235A (zh) | 文档加载方法、装置、终端和存储介质 | |
CN109710783B (zh) | 一种图片加载方法、装置、存储介质及服务器 | |
CN112380819A (zh) | 文档编辑方法、装置和电子设备 | |
CN111240962A (zh) | 测试方法、装置、计算机设备及计算机存储介质 | |
CN113485855B (zh) | 一种内存共享方法、装置、电子设备及可读存储介质 | |
CN107423051B (zh) | 数据的配置方法和装置 | |
US10754767B2 (en) | Method and apparatus for loading a resource in a web page on a device | |
CN111966262B (zh) | 一种图片显示方法及计算设备 | |
CN109242763B (zh) | 图片处理方法、图片处理装置、终端设备 | |
CN114020187A (zh) | 字体图标的显示方法、装置及电子设备 | |
CN112433778A (zh) | 一种移动设备页面显示方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200807 |