本发明涉及计算机图片转换领域,尤其涉及一种轻量级图片转换方法。
背景技术:
当用户使用移动设备通过客户端访问位于互联网服务器上的图片时,如果互联网服务器在接收到用户请求后,将原始图片不加以处理直接转发到移动设备客户端,通常会出现如下问题:
(1)由于移动设备通常屏幕像素较低,像素较大的图片在移动设备屏幕中不能全部显示出来,用户经常需要移动图片在屏幕中的显示位置才能看到图片全貌,导致用户体验较差。
(2)由于移动设备相对桌面电脑计算能力较差,文件尺寸较大的图片显示速度也明显慢于桌面电脑,直接影响到移动设备用户的用户体验。
(3)下载文件尺寸较大的图片相应地也会更多地消耗移动用户的数据流量,增加了用户的费用负担。
针对上述问题,目前现有技术通常采用第三方图片转码服务,通过设置专门的第三方服务器,第三方服务器在接收到移动设备客户端的图片请求时,调用自身代码进行转码。主要技术内容如图1所示,预先设置专门用于图片转码的第三方服务器;当第三方服务器接收到来自于移动设备的图片请求时,发送图片请求到图片所在的后端图片服务器;后端图片服务器响应图片请求返回原始的图片内容到第三方服务器,这时第三方图片转码服务器依据移动设备的屏幕尺寸大小或者用户自定义的像素大小、图片转码格式等属性调用图片转码功能将图片转换为特定的像素大小、图片存储格式,并回传转码后图片内容到移动设备客户端。但是上述技术依然存在以下缺点:需要有专门的第三方服务器提供图片转码的功能,增加了互联网内容提供商的运营成本。不能通过配置方式设置图片转码的参数,当用户转码需求更改时,往往需要修改第三方图片转码服务器代码,系统可配置性较弱。
技术实现要素:
本发明的目的在于提供一种轻量级图片转换方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种轻量级图片转换方法,主要包括以下步骤:
s1.获取图片请求;
s2.反向代理服务器将图片请求转发到后端互联网服务器;
s3.反向代理服务器加载图片转码处理模块;
s4.图片转码模块接收到图片请求后,将图片提交到后端图片服务器;
s5.所述后端图片服务器将图片原始信息传递给所述图片转码模块;
s6.所述图片转码模块对图片进行转码,然后将转码后的图片回传给所述反向代理服务器;
s7.最终反向代理服务器并将转码后的图片内容回传客户,完成图片请求。
优选的,步骤s6中具体包括以下步骤:
s61.所述图片转码模块获取屏幕参数和用户指定图片参数;
s62.确认转码后的图片信息;
s63.调用内置的图片转码功能将原始图片转换为目标像素大小以及目标图片存储格式。
优选的,所述屏幕参数为请求客户端的移动设备的屏幕尺寸或分辨率,所述图片参数为图片像素大小。
优选的,所述转码后的图片信息包括转码图片的图片大小和图像存储格式。
优选的,所述移动设备指能引发http请求的设备,包括手机、pad、笔记本中的至少一种。
优选的,所述反向代理服务器为nginx服务器,所述图片转换模块包括移动设备屏幕参数获取、图片转换缩放以及图片下载模块。
本发明的有益效果是:
本发明提供的图片转换方法不需要设立专门的第三方图片转码服务器,而是通过在前端反向代理服务器中加载自定义图片转码模块进行图片转码处理,能有效降低互联网运营商的运营成本;通过在反向代理服务器中增加图片转码参数配置的方式,能增强图片转码的灵活性,用户可随时、随意更改转码参数以达到系统变更的目的。
附图说明
图1是现有技术的图片转换方法流程图;
图2是本发明采用的图片转换方法流程图;
图3是本发明图片转码模块内部处理流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
实施例
本实施例以手机为客户端,nginx为反向代理服务器,进行轻量级图片转换,如图2所示。
首先,手机客户端获取图片请求,反向代理服务器用于将手机客户端的图片请求转发到后端互联网服务器,在启动反向代理服务器时,反向代理服务器将同时加载图片转码模块;
然后,当图片转码模块在接收到图片请求后,将图片请求提交到图片所在的后端图片服务器;后端图片服务器在接收到图片请求后,将原始图片数据回传给图片转码模块;
当图片转码模块在接收图片服务器回传的原始图片数据后,图片转码模块依据请求客户端的移动设备的屏幕尺寸、客户端自定义的目标像素大小,以及图片转码配置信息确认最终转码图片的图片大小、图像存储格式,同时调用内置的图片转码功能将原始图片转换为目标像素大小以及目标图片存储格式,并将转码后的图片内容回送给反向代理服务器;
最终反向代理服务器并将转码后图片内容回传客户,完成本次用户请求。
值的注意的是,本实施例中反向代理服务器在处理移动设备的图片请求时,不再将图片请求转发到第三方图片服务器处理,而是先通过自定义配置信息读入用户所需图片转码参数,再将图片转码参数和用户请求的图片地址转交给图片转码处理模块处理。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
本发明提供的图片转换方法不需要设立专门的第三方图片转码服务器,而是通过在前端反向代理服务器中加载自定义图片转码模块进行图片转码处理,能有效降低互联网运营商的运营成本;通过在反向代理服务器中增加图片转码参数配置的方式,能增强图片转码的灵活性,用户可随时、随意更改转码参数以达到系统变更的目的。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。