本发明涉及图片展示技术领域,特别涉及一种生成缩略图的方法及装置。
背景技术:
如今,随着各种终端(例如智能手机、平板电脑等)越来越深入到日常生活中,很多情况下,比如在路途中,需要使用sim卡流量来上网的,人们希望使用较少的网络流量来获取较多的信息,这其中在图片占据了较大的流量,通过缩略图的方式可以在基本不降低用户体验的同时,有效的降低网络流量。故现今出现了很多生成缩略图功能的方法,例如,使用php实时生成缩略图,使用nginx+lua实现生成缩略图,还有使用nginx生成缩略图。但是在上述方法中,用户每次访问都需要生成一次缩略图,这样会对cpu和硬盘带来巨大的压力。如何妥善的解决上述问题,就成为了业界亟待解决的课题。
技术实现要素:
本发明提供一种生成缩略图的方法及装置,用以将生成的缩略图保存到硬盘,避免每次请求该缩略图的时候都即时生成新的缩略图,从而降低了系统的cpu和内存运行负荷。
根据本发明实施例的第一方面,提供一种生成缩略图的方法,包括:
当调用原图的缩略图时,搜索是否存储有所述原图的缩略图;
当未搜索到所述原图的缩略图时,根据原图的地址调用所述原图;
根据所述原图生成符合预设的缩略图条件的缩略图;
将所述原图的缩略图保存在所述预设的缩略图文件夹中。
在一个实施例中,所述当调用原图的缩略图时,搜索是否存储有所述原图的缩略图,包括:当调用原图的缩略图时,根据所述预设的缩略图文件夹的地址,访问所述预设的缩略图文件夹;
在所述预设的缩略图文件夹中,搜索是否存储有所述原图的缩略图。
在一个实施例中,所述当未搜索到所述原图的缩略图时,根据原图的地址调用所述原图,包括:
根据所述原图的文件名,在所述预设的缩略图文件夹中搜索所述原图的缩略图;
当在所述预设的缩略图文件夹中未存储所述原图的缩略图时,根据所述原图的地址调用所述原图。
在一个实施例中,所述根据所述原图生成符合预设的缩略图条件的缩略图,包括:
根据预设的缩略图标准宽度和高度,设置所述原图的缩略图的尺寸;
根据预设的图像质量数值,压缩所述原图的缩略图。
在一个实施例中,还包括:
当在所述预设的缩略图文件夹中存储有所述原图的缩略图时,展示所述原图的缩略图。
根据本发明实施例的第二方面,提供一种生成缩略图的装置,包括:
搜索模块,用于当调用原图的缩略图时,搜索是否存储有所述原图的缩略图;
调用模块,用于当未搜索到所述原图的缩略图时,根据原图的地址调用所述原图;
生成模块,用于根据所述原图生成符合预设的缩略图条件的缩略图;
保存模块,用于将所述原图的缩略图保存在所述预设的缩略图文件夹中。
在一个实施例中,所述搜索模块,包括:
访问子模块,用于当调用原图的缩略图时,根据所述预设的缩略图文件夹的地址,访问所述预设的缩略图文件夹;
第一搜索子模块,用于在所述预设的缩略图文件夹中,搜索是否存储有所述原图的缩略图。
在一个实施例中,所述调用模块,包括:
第二搜索子模块,用于根据所述原图的文件名,在所述预设的缩略图文件夹中搜索所述原图的缩略图;
调用子模块,用于当在所述预设的缩略图文件夹中未存储所述原图的缩略图时,根据所述原图的地址调用所述原图。
在一个实施例中,所述生成模块,包括:
设置子模块,用于根据预设的缩略图标准宽度和高度,设置所述原图的缩略图的尺寸;
压缩子模块,用于根据预设的图像质量数值,压缩所述原图的缩略图。
在一个实施例中,还包括:
展示模块,用于当在所述预设的缩略图文件夹中存储有所述原图的缩略图时,展示所述原图的缩略图。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明一示例性实施例示出的一种生成缩略图的方法的流程图;
图2为本发明一示例性实施例示出的一种生成缩略图的方法的步骤S11的流程图;
图3为本发明一示例性实施例示出的一种生成缩略图的方法的步骤S12的流程图;
图4为本发明一示例性实施例示出的一种生成缩略图的方法的步骤S13的流程图;
图5为本发明另一示例性实施例示出的一种生成缩略图的方法的流程图;
图6为本发明一示例性实施例示出的一种生成缩略图的装置的框图;
图7为本发明一示例性实施例示出的一种生成缩略图的装置的搜索模块61的框图;
图8为本发明一示例性实施例示出的一种生成缩略图的装置的调用模块62的框图;
图9为本发明一示例性实施例示出的一种生成缩略图的装置的生成模块63的框图;
图10为本发明另一示例性实施例示出的一种生成缩略图的装置的框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是根据一示例性实施例示出的一种生成缩略图的方法流程图,如图1所示,该生成缩略图的方法,包括以下步骤S11-S14:
在步骤S11中,当调用原图的缩略图时,搜索是否存储有所述原图的缩略图;
在步骤S12中,当未搜索到所述原图的缩略图时,根据原图的地址调用所述原图;
在步骤S13中,根据所述原图生成符合预设的缩略图条件的缩略图;
在步骤S14中,将所述原图的缩略图保存在所述预设的缩略图文件夹中。
在一个实施例中,当系统需要调用原图的缩略图时,根据该预设的缩略图文件夹的地址,访问该预设的缩略图文件夹。在该预设的缩略图文件夹中,搜索是否存储有该原图的缩略图。根据该原图的文件名,在该预设的缩略图文件夹中搜索该原图的缩略图。当在该预设的缩略图文件夹中未存储该原图的缩略图时,根据该原图的地址调用该原图。然后根据预设的缩略图标准宽度和高度,设置该原图的缩略图的尺寸,再根据预设的图像质量数值,压缩该原图的缩略图,之后将该原图的缩略图保存在该预设的缩略图文件夹中,当以后需要调用该原图的缩略图时,就可以直接从该预设的缩略图文件夹中直接调用了,就无需每次都生成新的缩略图,从而降低了系统的cpu和内存的运行负担。
当在该预设的缩略图文件夹中存储有该原图的缩略图时,展示该原图的缩略图。本发明通过将生成的缩略图保存到硬盘,避免每次请求该缩略图的时候都即时生成新的缩略图,从而降低了系统的cpu和内存运行负荷。
在一个实施例中,如图2所示,步骤S11包括如下步骤S21-S22:
在步骤S21中,当调用原图的缩略图时,根据所述预设的缩略图文件夹的地址,访问所述预设的缩略图文件夹;
在步骤S22中,在所述预设的缩略图文件夹中,搜索是否存储有所述原图的缩略图。
在一个实施例中,当系统需要调用原图的缩略图给用户观看时,需要系统执行两步操作。第一步操作是根据系统中预设的缩略图文件夹的地址来访问该预设的缩略图文件夹。第二步操作是在该预设的缩略图文件夹中,根据原图的文件名来搜索,因为原图的文件名与缩略图的文件名是一样的。本实施例中的技术方案为该两步操作的第一步操作。
例如,不妨假设,原图的文件名为“1.jpg”,预设的缩略图文件夹的地址为www.ttlsa.com/resize_100x100/image。当需要调用文件名为“1.jpg”的缩略图时,通过访问www.ttlsa.com/resize_100x100/image。在该文件夹中搜索是否存在文件名为“1.jpg”的缩略图。
在一个实施例中,如图3所示,步骤S12包括如下步骤S31-S32:
在步骤S31中,根据所述原图的文件名,在所述预设的缩略图文件夹中搜索所述原图的缩略图;
在步骤S32中,当在所述预设的缩略图文件夹中未存储所述原图的缩略图时,根据所述原图的地址调用所述原图。
在一个实施例中,当系统需要调用原图的缩略图给用户观看时,需要系统执行了两步操作。第一步操作是根据系统中预设的缩略图文件夹的地址来访问该预设的缩略图文件夹。第二步操作是在该预设的缩略图文件夹中,根据原图的文件名来搜索,因为原图的文件名与缩略图的文件名是一样的。本实施例中的技术方案为该两步操作的第二步操作。
例如,不妨假设,原图的文件名为“1.jpg”,预设的缩略图文件夹的地址为www.ttlsa.com/resize_100x100/image,原图的地址为www.ttlsa.com/image。当系统需要调用文件名为“1.jpg”的缩略图给用户浏览时,可通过链接地址www.ttlsa.com/resize_100x100/image来访问。在该文件夹中搜索是否存在文件名为“1.jpg”的缩略图。若搜索结果为在该文件夹中不存在名为“1.jpg”的缩略图时,则根据原图的地址www.ttlsa.com/image来访问原图的文件夹,根据原图的文件名“1.jpg”来调用原图。
在一个实施例中,如图4所示,步骤S13包括如下步骤S41-S42:
在步骤S41中,根据预设的缩略图标准宽度和高度,设置所述原图的缩略图的尺寸;
在步骤S42中,根据预设的图像质量数值,压缩所述原图的缩略图。
在一个实施例中,给用户展示的缩略图的尺寸是需要保持一致的,所以对所有的原图统一都按照预设的缩略图标准宽度和高度来进行处理。对按照预设的缩略图标准宽度和高度来设置过的图像,再按照预设的图像质量数值进行压缩。
例如,首先对原图按照尺寸设置为100*100,再设置图像质量为75,经过上述处理的图像就是符合预设标准的缩略图。
在一个实施例中,如图5所示,步骤还包括如下步骤S51:
在步骤S51中,当在所述预设的缩略图文件夹中存储有所述原图的缩略图时,展示所述原图的缩略图。
在一个实施例中,在预设的缩略图文件夹中存储有系统需要展示的原图的缩略图时,系统可以直接调用已经存储在硬盘中的该原图的缩略图并展示给用户。
在一个实施例中,图6是根据一示例性实施例示出的一种生成缩略图的装置框图。如图6示,该装置包括搜索模块61、调用模块62、生成模块63和保存模块64。
该搜索模块61,用于当调用原图的缩略图时,搜索是否存储有所述原图的缩略图;
该调用模块62,用于当未搜索到所述原图的缩略图时,根据原图的地址调用所述原图;
该生成模块63,用于根据所述原图生成符合预设的缩略图条件的缩略图;
该保存模块64,用于将所述原图的缩略图保存在所述预设的缩略图文件夹中。
如图7所示,该搜索模块61包括访问子模块71和第一搜索子模块72。
该访问子模块71,用于当调用原图的缩略图时,根据所述预设的缩略图文件夹的地址,访问所述预设的缩略图文件夹;
该第一搜索子模块72,用于在所述预设的缩略图文件夹中,搜索是否存储有所述原图的缩略图。
如图8所示,该调用模块62包括第二搜索子模块81和调用子模块82。
该第二搜索子模块81,用于根据所述原图的文件名,在所述预设的缩略图文件夹中搜索所述原图的缩略图;
该调用子模块82,用于当在所述预设的缩略图文件夹中未存储所述原图的缩略图时,根据所述原图的地址调用所述原图。
如图9所示,该生成模块63包括设置子模块91和压缩子模块92。
该设置子模块91,用于根据预设的缩略图标准宽度和高度,设置所述原图的缩略图的尺寸;
该压缩子模块92,用于根据预设的图像质量数值,压缩所述原图的缩略图。
如图10所示,还包括展示模块101。
该展示模块101,用于当在所述预设的缩略图文件夹中存储有所述原图的缩略图时,展示所述原图的缩略图。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。