我目前正在努力加快我们开发的网站。我现在工作的部分是优化图像,使它们尽可能小(文件大小,而不是尺寸),而不会失去质量。
我们的客户可以上传他们自己的图像到网站通过我们的定制CMS,但图像没有被压缩或优化在任何地方。我的上司解释说,这是因为客户可以上传他们自己的图片,这些图像可以事先通过Photoshop或类似的工具进行优化。如果你优化了已经优化过的图像,质量会变得更糟。...right?
我们试图找到一种不需要安装模块或任何东西的解决方案。我们已经使用了imagejpeg()、imagepng()和imagegif(),但是由于前面解释的原因,我们不使用$quality参数。我见过一些片段,但它们都使用imagejpg()等。
话虽如此,是否有一种毫无疑问的优化图像的方法,而不存在优化以前优化过的图像的风险?或者使用imagejpeg()、imagepng()和imagegif()根本不成问题,即使这意味着优化已经优化过的图像?
谢谢!
发布于 2016-04-14 13:43:16
从你的标题开始,我将假设压缩
因此,假设一个普通的jpg 800x600是由您的客户上传的。客户的jpg是272 is,因为它有完整的细节和一切。
您需要在可接受的维度上设置文件大小的调整。
比如:
if $dimensions->equals(800,600) and file_type($image) =='jpg' and file_size($image) > 68kb
then schedule_for_compression($image)通过这种方式,您可以为可接受的文件大小上限设置参数。如果尺寸匹配,而且文件大小更大,那么就没有优化。
但是,在不知道更多细节的情况下,我唯一能想到的就是对优化的具体理解。
发布于 2016-04-14 13:46:24
“如果你优化了已经优化过的图像,质量就会变得更糟。”如果你用的是没有松动的方法。
我不知道在php中直接使用什么方法,但是如果您在linux服务器上,您可以使用jpegtran或jpegoptim (带有-strip)来处理jpeg和OptiPNG或png。
发布于 2016-04-14 14:22:10
如果您正在使用较低数量的图像进行压缩,您可能会发现一个外部服务,例如:https://tinypng.com/developers可能会有所帮助。
我使用了他们的在线工具来手动减少JPG和PNG文件的文件大小,但是他们通过appaear为每个月的前500张图像提供免费的API服务。
很抱歉,如果作为评论比回答更好的话,我对堆栈溢出非常陌生,而且还没有得到足够的分数,但我觉得这可能是一个方便的替代解决方案。
https://stackoverflow.com/questions/36624676
复制相似问题