本发明一般地涉及文字处理领域。更具体地,本发明涉及根据图片大小动态调整字符串的字体大小的方法及可读存储介质。
背景技术:
在文字处理的领域中,有许多应用场景需要文字搭配图片一同展示,不论是文字在图片内,或是文字在图片周围,现有文字搭配图片的排版过于简单,以至于图片与文字的比例难以协调,使得整体画面的比例失当。
图1示出一张图片100,现欲在图片100的下方加上一段话,如图2所示,在图片100下方加上“万马奔腾,形容群众性的活动声势浩大或场面热烈,出自《初刻拍案惊奇·钱多处白丁横带》。”这字符串200。现有技术在将字符串200置于图片100的下方时,无法适当调整字符串200中的字体大小来配合图片100的大小,以至于整体视觉效果不佳。
因此,一种根据图片大小调整字体大小的方案是迫切需要。
技术实现要素:
为了至少部分地解决背景技术中提到的技术问题,本发明的方案提供了一种根据图片大小动态调整字符串的字体大小的方法及可读存储介质。
在一个方面中,本发明揭露一种根据图片大小动态调整字符串的字体大小的方法,图片为横向像素数×纵向像素数。其方法包括:设定比例系数;判断所述字符串为横向排列或纵向排列;如果为横向排列,设定字体参数为所述横向像素数×所述比例系数;以及如果为纵向排列,设定所述字体参数为所述纵向像素数×所述比例系数。
在另一个方面,前述的方法还包括:置入所述字体参数至将所述字符串整合至所述图片的api函数。
在另一个方面,前述字符串位于图片中。
在另一个方面,如果为图片为横向排列,则字符串位于图片上方或下方。如果图片为纵向排列,则字符串位于图片左侧或右侧。
在另一个方面,前述的比例系数为0至1间。
在另一个方面,本发明揭露一种计算机可读存储介质,其上存储有根据图片大小动态调整字符串的字体大小的计算机程序代码,当所述计算机程序代码由处理装置运行时,执行前述的方法。
本发明根据图片的大小动态调整字体大小,对于不同大小的图片,本发明可以自动调整字体大小,使得图片与文字的比例和谐、整体画面比例适当。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
图1是示出一张图片的示意图;
图2是示出一张图片结合一段文字的示意图;
图3是示出本发明实施例根据图片大小动态调整字符串的字体大小的流程图;
图4是示出本发明实施例在图片的下方置入字符串的示意图;
图5是示出本发明实施例在图片的左侧置入字符串的示意图;
图6是示出本发明实施例在图片内下缘置入字符串的示意图;以及
图7是示出本发明实施例在图片内的右缘置入字符串的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,本发明的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本发明的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本发明。如在本发明说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。
下面结合附图来详细描述本发明的具体实施方式。
本发明的应用场景是已知一张图片,其图片大小为纵向像素数×横向像素数,且在图片内或周围加上文字。本发明的实施例是一种根据图片大小动态调整字符串的字体大小的方法,图3示出此方法的流程图。
在步骤301中,设定比例系数。比例系数指的是图片像素值与文字像素值的比例关系,此实施例不限制比例系数的值,本领域技术人员可以根据实际状况进行设定。一般而言,比例系数设定在0至1间,在此实施例中设定为0.5。
图片的像素值的单位为dpi(dotsperinch,每英寸点数),一张4×6英寸的图片,如果扫描精度是300dpi,那么图片尺寸会是(4×300)×(6×300)=1200像素×1800像素。换言之,纵向像素数为1200,横向像素数为1800。
在步骤302中,判断字符串为横向排列或纵向排列。欲置入的字符串可以横向排列或纵向排列,故此步骤判断字符串为横向排列或纵向排列。
如果字符串为横向排列,则执行步骤303,设定字体参数为横向像素数×比例系数,即字体参数为1800×0.5=900px。当字符串为横向排列时,字符串一般位于图片上方或下方。
如果字符串为纵向排列,则执行步骤304,设定字体参数为纵向像素数×比例系数,即字体参数为1200×0.5=600px。当字符串为纵向排列时,则字符串位于图片左侧或右侧。
在步骤303与步骤304之后,执行步骤305,置入字体参数至将字符串整合至图片的api函数中。此处的api函数是用来描述图片的,在此实施例中,字符串会被整合至图片中,因此字符串的字体参数需要置入至图片的api函数中,使得图片可以完整呈现大小合适的字符串。
图4示出此实施例的一种应用场景,其为在图片100的下方置入“万马奔腾,形容群众性的活动声势浩大或场面热烈,出自《初刻拍案惊奇·钱多处白丁横带》。”的字符串400。根据图3所示的流程,在步骤301中,设定比例系数为0.5。在步骤302中,判断字符串为横向排列或纵向排列。由于欲置入的字符串位在图片100的下方,故为横向排列,因此执行步骤303,设定字体参数为横向像素数×比例系数,即字体参数为1800×0.5=900px。在步骤305中,置入字体参数至将字符串整合至图片的api函数,也就是将字符串400的字体大小900px置入至图片的api函数中,使得图片可以完整呈现大小合适的字符串。最后图片100与字符串400的位置及比例如图4所示,字符串400的大小根据图片100的横向像素数进行调整。
图5示出此实施例的另一种应用场景,其为在图片100的左侧置入“万马奔腾,形容群众性的活动声势浩大或场面热烈,出自《初刻拍案惊奇·钱多处白丁横带》。”的字符串500。根据图3所示的流程,在步骤301中,设定比例系数为0.5。在步骤302中,判断字符串为横向排列或纵向排列。由于欲置入的字符串位在图片100的左侧,故为纵向排列,因此执行步骤304,设定字体参数为纵向像素数×比例系数,即字体参数为1200×0.5=600px。在步骤305中,置入字体参数至将字符串整合至图片的api函数,也就是将字符串500的字体大小600px置入至图片的api函数中,使得图片可以完整呈现大小合适的字符串。最后图片100与字符串500的位置及比例如图5所示,字符串500的大小根据图片100的纵向像素数进行调整。
图6示出此实施例的另一种应用场景,其为在图片100内的下缘置入“万马奔腾”的字符串600。根据图3所示的流程,在步骤301中,设定比例系数为0.7。在步骤302中,判断字符串为横向排列或纵向排列。由于欲置入的字符串位在图片100内的下缘,故为横向排列,因此执行步骤303,设定字体参数为横向像素数×比例系数,即字体参数为1800×0.7=1260px。在步骤305中,置入字体参数至将字符串整合至图片的api函数,也就是将字符串600的字体大小1260px置入至图片的api函数中,使得图片可以完整呈现大小合适的字符串。最后图片100与字符串600的位置及比例如图6所示,字符串600的大小根据图片100的横向像素数进行调整。
图7示出此实施例的另一种应用场景,其为在图片100内的右缘置入“万马奔腾”的字符串700。根据图3所示的流程,在步骤301中,设定比例系数为0.7。在步骤302中,判断字符串为横向排列或纵向排列。由于欲置入的字符串位在图片100内的右缘,故为纵向排列,因此执行步骤304,设定字体参数为纵向像素数×比例系数,即字体参数为1200×0.7=840px。在步骤305中,置入字体参数至将字符串整合至图片的api函数,也就是将字符串700的字体大小840px置入至图片的api函数中,使得图片可以完整呈现大小合适的字符串。最后图片100与字符串700的位置及比例如图7所示,字符串700的大小根据图片100的纵向像素数进行调整。
本发明另一个实施例为一种计算机可读存储介质,其上存储有根据图片大小动态调整字符串的字体大小的计算机程序代码,当所述计算机程序代码由处理器运行时,执行如前所述各实施例的方法。在一些实现场景中,上述集成的单元可以采用软件程序模块的形式来实现。如果以软件程序模块的形式实现并作为独立的产品销售或使用时,所述集成的单元可以存储在计算机可读取存储器中。基于此,当本发明的方案以软件产品(例如计算机可读存储介质)的形式体现时,该软件产品可以存储在存储器中,其可以包括若干指令用以使得计算机设备(例如个人计算机、服务器或者网络设备等)执行本发明实施例所述方法的部分或全部步骤。前述的存储器可以包括但不限于u盘、闪存盘、只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本发明根据图片的大小动态调整字体大小,对于不同大小的图片,本发明可以自动调整字体大小,使得图片与文字的比例和谐、整体画面比例适当。
需要说明的是,为了简明的目的,本发明将一些方法及其实施例表述为一系列的动作及其组合,但是本领域技术人员可以理解本发明的方案并不受所描述的动作的顺序限制。因此,依据本发明的公开或教导,本领域技术人员可以理解其中的某些步骤可以采用其他顺序来执行或者同时执行。进一步,本领域技术人员可以理解本发明所描述的实施例可以视为可选实施例,即其中所涉及的动作或模块对于本发明某个或某些方案的实现并不一定是必需的。另外,根据方案的不同,本发明对一些实施例的描述也各有侧重。鉴于此,本领域技术人员可以理解本发明某个实施例中没有详述的部分,也可以参见其他实施例的相关描述。
在具体实现方面,基于本发明的公开和教导,本领域技术人员可以理解本发明所公开的若干实施例也可以通过本文未公开的其他方式来实现。例如,就前文所述的电子设备或装置实施例中的各个单元来说,本文在考虑了逻辑功能的基础上对其进行拆分,而实际实现时也可以有另外的拆分方式。又例如,可以将多个单元或组件结合或者集成到另一个系统,或者对单元或组件中的一些特征或功能进行选择性地禁用。就不同单元或组件之间的连接关系而言,前文结合附图所讨论的连接可以是单元或组件之间的直接或间接耦合。在一些场景中,前述的直接或间接耦合涉及利用接口的通信连接,其中通信接口可以支持电性、光学、声学、磁性或其它形式的信号传输。
在本发明中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要,可以选择其中的部分或者全部单元来实现本发明实施例所述方案的目的。另外,在一些场景中,本发明实施例中的多个单元可以集成于一个单元中或者各个单元物理上单独存在。
在另外一些实现场景中,上述集成的单元也可以采用硬件的形式实现,即为具体的硬件电路,其可以包括数字电路和/或模拟电路等。电路的硬件结构的物理实现可以包括但不限于物理器件,而物理器件可以包括但不限于晶体管或忆阻器等器件。鉴于此,本文所述的各类装置(例如计算装置或其他处理装置)可以通过适当的硬件处理器来实现,例如中央处理器、gpu、fpga、dsp和asic等。进一步,前述的所述存储单元或存储装置可以是任意适当的存储介质(包括磁存储介质或磁光存储介质等),其例如可以是可变电阻式存储器(resistiverandomaccessmemory,rram)、动态随机存取存储器(dynamicrandomaccessmemory,dram)、静态随机存取存储器(staticrandomaccessmemory,sram)、增强动态随机存取存储器(enhanceddynamicrandomaccessmemory,edram)、高带宽存储器(highbandwidthmemory,hbm)、混合存储器立方体(hybridmemorycube,hmc)、rom和ram等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
1.一种根据图片大小动态调整字符串的字体大小的方法,所述图片为纵向像素数×横向像素数,包括:
设定比例系数;
判断所述字符串为横向排列或纵向排列;
如果为横向排列,设定字体参数为所述横向像素数×所述比例系数;以及
如果为纵向排列,设定所述字体参数为所述纵向像素数×所述比例系数。
2.根据权利要求1所述的方法,还包括:
置入所述字体参数至将所述字符串整合至所述图片的api函数。
3.根据权利要求1所述的方法,其中所述字符串位于所述图片中。
4.根据权利要求1所述的方法,其中如果为横向排列,所述字符串位于所述图片上方或下方。
5.根据权利要求1所述的方法,其中如果为纵向排列,所述字符串位于所述图片左侧或右侧。
6.根据权利要求1所述的方法,其中所述比例系数为0至1间。
7.一种计算机可读存储介质,其上存储有根据图片大小动态调整字符串的字体大小的计算机程序代码,当所述计算机程序代码由处理装置运行时,执行权利要求1至6任一项所述的方法。
技术总结