具体实施方式
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
为了解决现有技术存在的问题,本发明实施例提供了一种图片布局方法,如图1所示,包括以下步骤:
步骤101、获取显示区尺寸、被显示图片的原始尺寸以及被显示图片的数量,每个被显示图片的原始尺寸相同;
步骤102、根据显示区尺寸,按同一调整方式调整每个被显示图片的尺寸,直到每个被显示图片的尺寸达到最大,且调整后的全部被显示图片的总宽度不大于显示区尺寸的宽度,总高度不大于显示区尺寸的高度。
具体的,获取显示终端的显示区尺寸,该尺寸由显示终端的操作系统预定,例如全屏模式下,可以获取整个显示屏幕的尺寸;在非全屏模式下,可以获取显示终端操作系统的当前可用的显示屏幕尺寸。
并且,获取被显示图片的原始尺寸以及被显示图片的数量,其中,每个被显示图片的原始尺寸相同。为了在显示区内显示图片时,可以适应性调整图片的尺寸,例如图片少时,将图片的尺寸调大;图片多时,将图片的尺寸调小,本发明实施例中提供了如下方式,可以根据显示区尺寸,调整被显示图片的尺寸,直到被显示图片的尺寸达到最大,且调整后的全部被显示图片的总宽度不大于显示区尺寸的宽度,总高度不大于显示区尺寸的高度。
方式一:根据显示区尺寸、被显示图片的原始尺寸,确定显示区容纳的图片列数;在全部被显示图片的总宽度不大于显示区尺寸的宽度的情况下,调整每个被显示图片的高度,直到全部被显示图片的总高度等于显示区尺寸的高度。
方式二:根据显示区尺寸、被显示图片的原始尺寸,确定显示区容纳的图片行数;在全部被显示图片的总高度不大于显示区尺寸的高度的情况下,调整每个被显示图片的宽度,直到全部被显示图片的总宽度等于显示区尺寸的宽度。
上述方式一和方式二均采用确定图片一个边缘长度,拉伸另一边缘长度的方式,即确定每行放置多少图片后,调整每行图片的高度,使得被显示图片整体均能位于显示区内,且达到该种条件下的最大尺寸。
方式三:被显示图片的高度与宽度的比值恒定时,采用被显示图片的宽度表示全部被显示图片的总宽度和总高度;将全部被显示图片的总高度与显示区的高度进行比较;当全部被显示图片的总高度小于显示区的高度时,将每个被显示图片的原始宽度以1单位像素开始增加,直到全部被显示图片的总宽度大于显示区尺寸的宽度,且本次增加单位像素前全部被显示图片的总宽度不大于显示区尺寸的宽度,或者全部被显示图片的总高度大于显示区尺寸的高度,且本次增加单位像素前全部被显示图片的总高度不大于显示区尺寸的高度;将本次增加单位像素前被显示图片的宽度,确定为调整后的被显示图片的宽度;根据被显示图片的高度与宽度的比值,以及调整后的被显示图片的宽度,确定被显示图片的高度;当全部被显示图片的总高度大于显示区的高度时,将被显示图片的原始宽度以1单位像素开始减少,直到全部被显示图片的总高度不大于显示区尺寸的高度,且本次减少单位像素前全部被显示图片的总高度大于显示区尺寸的高度;将本次被显示图片的宽度,确定为调整后的被显示图片的宽度;根据被显示图片的高度与宽度的比值,以及调整后的被显示图片的宽度,确定被显示图片的高度。
其中,根据被显示图片的原始宽度和显示区尺寸的宽度,确定显示区容纳的图片列数;根据图片列数和被显示图片的原始宽度,表示全部被显示图片的总宽度;根据被显示图片的数量,以及显示区容纳的图片列数,确定图片的欲排列行数;根据欲排列行数和被显示图片的原始宽度,确定全部被显示图片的总高度。
方式四:被显示图片的高度与宽度的比值恒定时,采用所述被显示图片的高度表示全部被显示图片的总宽度和总高度;将所述全部被显示图片的总宽度与所述显示区的宽度进行比较;当所述全部被显示图片的总宽度小于所述显示区的宽度时,将每个被显示图片的原始高度以1单位像素开始增加,直到所述全部被显示图片的总宽度大于所述显示区尺寸的宽度,且本次增加单位像素前所述全部被显示图片的总宽度不大于所述显示区尺寸的宽度,或者全部被显示图片的总高度大于所述显示区尺寸的高度,且本次增加单位像素前所述全部被显示图片的总高度不大于所述显示区尺寸的高度;将本次增加单位像素前被显示图片的高度,确定为调整后的被显示图片的高度;根据所述被显示图片的高度与宽度的比值,以及调整后的被显示图片的高度,确定所述被显示图片的宽度;当所述被显示图片的总宽度大于所述显示区的宽度时,将每个被显示图片的原始高度以1单位像素开始减少,直到全部被显示图片的总宽度不大于所述显示区尺寸的宽度,且本次减少单位像素前所述全部被显示图片的总宽度大于所述显示区尺寸的宽度;将本次被显示图片的高度,确定为调整后的被显示图片的高度;根据所述被显示图片的高度与宽度的比值,以及调整后的被显示图片的高度,确定所述被显示图片的宽度。
其中,根据被显示图片的原始高度和显示区尺寸的高度,确定显示区容纳的图片行数;根据图片列数和被显示图片的原始高度,表示全部被显示图片的总高度;根据被显示图片的数量,以及显示区容纳的图片行数,确定图片的欲排列列数;根据欲排列列数和被显示图片的原始高度,确定全部被显示图片的总宽度。
当被显示图片无法单方向拉伸时,即被显示图片的高度与宽度的比值恒定,则可以采用上述方式三和方式四。方式三和方式四中使用被显示图片的宽度或高度来表示所有被显示图片的总宽度和总高度,这样通过调整一个参数,可以使得全部被显示图片的总宽度小于显示区的宽度、总高度小于显示区的高度,并且尽可能的使得被显示图片的尺寸调整到允许的最大值。例如,假设显示区尺寸为:宽度为1000个像素,高度为500个像素;被显示图片的原始尺寸为:宽度为100个像素,高度为75个像素,被显示图片的数量为100个;则使用被显示图片的原始宽度,可得到显示区容纳的图片列数为1000/100=10列,被显示图片的总宽度为1000个像素;图片的欲排列行数为100/10=10行,被显示图片的总高度为10*75=750,此时,被显示图片的总高度大于显示区的高度,则将每个被显示图片的原始宽度以1单位像素开始减少,直到被显示图片的总高度不大于显示区尺寸的高度,且本次减少单位像素前被显示图片的总高度大于显示区尺寸的高度。
调整被显示图片的宽度和高度后,由于图片紧挨放置,在显示区可能存在空白区域,为了增强美观性,可以将获取的显示区的空白区域的宽度,平均到每列被显示图片,作为相邻图片列的横向间隔;将获取的显示区的空白区域的高度,平均到每行被显示图片,作为相邻图片行的纵向间隔。
通过上述描述,可以看出,使用本发明实施例提供的图片布局方法,通过显示区尺寸、图片数量,适应性的调整图片的大小,确保所有图片均能完整显示,且达到可能的最大尺寸,由此,在图片较少时,图片显示的尺寸较大,保证清晰度;在图片较多时,图片可以完整显示,确保监控速度。
下面通过具体实施例对本发明实施例提供的图片布局方法进行详细说明,如图2所示,被显示图片的高度与宽度的比值恒定时,包括以下步骤:
步骤201、根据被显示图片的原始高度和显示区尺寸的高度,确定显示区容纳的图片行数;
步骤202、根据图片列数和被显示图片的原始高度,表示全部被显示图片的总高度;
步骤203、根据被显示图片的数量,以及显示区容纳的图片行数,确定图片的欲排列列数;
步骤204、根据欲排列列数和被显示图片的原始高度,确定全部被显示图片的总宽度;
步骤205、将全部被显示图片的总宽度与显示区的宽度进行比较,若小于,执行步骤206;若大于,执行步骤208;若等于,则被显示图片的原始宽度和高度确定为调整后的宽度和高度,执行步骤210。
步骤206、将被显示图片的原始高度以1单位像素开始增加,直到全部被显示图片的总宽度大于显示区尺寸的宽度,且本次增加单位像素前全部被显示图片的总宽度不大于显示区尺寸的宽度,或者全部被显示图片的总高度大于显示区尺寸的高度,且本次增加单位像素前全部被显示图片的总高度不大于显示区尺寸的高度;
步骤207、将本次增加单位像素前被显示图片的高度,确定为调整后的被显示图片的高度;根据被显示图片的高度与宽度的比值,以及调整后的被显示图片的高度,确定被显示图片的宽度,执行步骤210;
步骤208、将被显示图片的原始高度以1单位像素开始减少,直到全部被显示图片的总宽度不大于显示区尺寸的宽度,且本次减少单位像素前被显示图片的总宽度大于显示区尺寸的宽度;
步骤209、将本次被显示图片的高度,确定为调整后的被显示图片的高度;根据被显示图片的高度与宽度的比值,以及调整后的被显示图片的高度,确定被显示图片的宽度;
步骤210、将获取的显示区的空白区域的宽度,平均到每列被显示图片,作为相邻图片列的横向间隔;将获取的显示区的空白区域的高度,平均到每行被显示图片,作为相邻图片行的纵向间隔。
使用被显示图片的宽度表示总宽度和总高度的原理与上述步骤201至210描述的过程相同,在此不再赘述。
其中,执行步骤206时,通过一个循环比较实现,具体过程如图3所示,包括以下步骤:
步骤301、将被显示图片的原始高度以1单位像素开始增加;每次增加的像素数可以根据情况进行设定,例如每次增加1单位像素。
步骤302、增加被显示图片的高度,获取被显示图片本次增加后的高度;
步骤303、将增加后的总高度和显示区的高度进行比较,若小于,执行步骤304;若大于,则将本次增加前的高度作为调整后的被显示图片高度,执行步骤305;
步骤304、根据增加后的高度,确定增加后的总宽度,将总宽度和显示区的宽度进行比较;若小于,执行步骤302;若大于,则将本次增加前的高度作为调整后的被显示图片高度;
步骤305、根据调整后的被显示图片的高度,确定调整后的被显示图片的宽度。
通过上述描述,可以看出,使用本发明实施例提供的图片布局方法,通过显示区尺寸、图片数量,适应性的调整图片的大小,确保所有图片均能完整显示,且达到可能的最大尺寸,由此,在图片较少时,图片显示的尺寸较大,保证清晰度;在图片较多时,图片可以完整显示,确保监控速度。
基于同一发明构思,本发明实施例还提供了一种图片布局装置,如图4所示,包括:
获取模块401,用于获取显示区尺寸、被显示图片的原始尺寸以及被显示图片的数量,每个所述被显示图片的原始尺寸相同;
调整模块402,用于根据所述显示区尺寸,按同一调整方式调整每个所述被显示图片的尺寸,直到每个所述被显示图片的尺寸达到最大,且调整后的全部被显示图片的总宽度不大于所述显示区尺寸的宽度,总高度不大于所述显示区尺寸的高度。
较佳的,所述获取模块401,具体用于全屏模式下,获取整个显示屏幕的尺寸;在非全屏模式下,获取显示终端操作系统的当前可用的显示屏幕尺寸。
较佳的,所述调整模块402,用于根据所述显示区尺寸、所述被显示图片的原始尺寸,确定显示区容纳的图片列数;在全部被显示图片的总宽度不大于所述显示区尺寸的宽度的情况下,调整每个所述被显示图片的高度,直到全部被显示图片的总高度等于所述显示区尺寸的高度;或者
根据所述显示区尺寸、所述被显示图片的原始尺寸,确定显示区容纳的图片行数;在全部被显示图片的总高度不大于所述显示区尺寸的高度的情况下,调整每个所述被显示图片的宽度,直到全部被显示图片的总宽度等于所述显示区尺寸的宽度;或者
所述被显示图片的高度与宽度的比值恒定时,采用所述被显示图片的宽度表示全部被显示图片的总宽度和总高度;
将所述全部被显示图片的总高度与所述显示区的高度进行比较;
当所述全部被显示图片的总高度小于所述显示区的高度时,
将每个被显示图片的原始宽度以1单位像素开始增加,直到全部被显示图片的总宽度大于所述显示区尺寸的宽度,且本次增加单位像素前所述全部被显示图片的总宽度不大于所述显示区尺寸的宽度,或者全部被显示图片的总高度大于所述显示区尺寸的高度,且本次增加单位像素前所述全部被显示图片的总高度不大于所述显示区尺寸的高度;将本次增加单位像素前被显示图片的宽度,确定为调整后的被显示图片的宽度;根据所述被显示图片的高度与宽度的比值,以及调整后的被显示图片的宽度,确定所述被显示图片的高度;
当所述被显示图片的总高度大于所述显示区的高度时,
将每个被显示图片的原始宽度以1单位像素开始减少,直到全部被显示图片的总高度不大于所述显示区尺寸的高度,且本次减少单位像素前所述全部被显示图片的总高度大于所述显示区尺寸的高度;将本次被显示图片的宽度,确定为调整后的被显示图片的宽度;根据所述被显示图片的高度与宽度的比值,以及调整后的被显示图片的宽度,确定所述被显示图片的高度;或者
所述被显示图片的高度与宽度的比值恒定时,采用所述被显示图片的高度表示全部被显示图片的总宽度和总高度;
将所述全部被显示图片的总宽度与所述显示区的宽度进行比较;
当所述全部被显示图片的总宽度小于所述显示区的宽度时,
将每个被显示图片的原始高度以1单位像素开始增加,直到所述全部被显示图片的总宽度大于所述显示区尺寸的宽度,且本次增加单位像素前所述全部被显示图片的总宽度不大于所述显示区尺寸的宽度,或者全部被显示图片的总高度大于所述显示区尺寸的高度,且本次增加单位像素前所述全部被显示图片的总高度不大于所述显示区尺寸的高度;将本次增加单位像素前被显示图片的高度,确定为调整后的被显示图片的高度;根据所述被显示图片的高度与宽度的比值,以及调整后的被显示图片的高度,确定所述被显示图片的宽度;
当所述被显示图片的总宽度大于所述显示区的宽度时,
将每个被显示图片的原始高度以1单位像素开始减少,直到全部被显示图片的总宽度不大于所述显示区尺寸的宽度,且本次减少单位像素前所述全部被显示图片的总宽度大于所述显示区尺寸的宽度;将本次被显示图片的高度,确定为调整后的被显示图片的高度;根据所述被显示图片的高度与宽度的比值,以及调整后的被显示图片的高度,确定所述被显示图片的宽度。
较佳的,上述装置还包括:
表征模块403,用于根据所述被显示图片的原始宽度、和所述显示区尺寸的宽度,确定所述显示区容纳的图片列数;根据所述图片列数和被显示图片的原始宽度,表示全部被显示图片的总宽度;根据所述被显示图片的数量,以及所述显示区容纳的图片列数,确定图片的欲排列行数;根据所述欲排列行数和所述被显示图片的原始宽度,确定全部被显示图片的总高度;或者
根据所述被显示图片的原始高度、和所述显示区尺寸的高度,确定所述显示区容纳的图片行数;根据所述图片列数和被显示图片的原始高度,表示全部被显示图片的总高度;根据所述被显示图片的数量,以及所述显示区容纳的图片行数,确定图片的欲排列列数;根据所述欲排列列数和所述被显示图片的原始高度,确定全部被显示图片的总宽度。
较佳的,上述装置还包括:
处理模块404,用于将获取的显示区的空白区域的宽度,平均到每列被显示图片,作为相邻图片列的横向间隔;将获取的显示区的空白区域的高度,平均到每行被显示图片,作为相邻图片行的纵向间隔。
通过上述描述,可以看出,使用本发明实施例提供的图片布局方法及装置,通过显示区尺寸、图片数量,适应性的调整图片的大小,确保所有图片均能完整显示,且达到可能的最大尺寸,由此,在图片较少时,图片显示的尺寸较大,保证清晰度;在图片较多时,图片可以完整显示,确保监控速度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。