什么是图像压缩的最佳实践

时间:2018-06-11 11:12:28

标签: caching compression image-compression

我正在接受对网站的控制,我需要处理图像压缩过程。

现在,在上传图片时,它会以高质量存储在服务器上,当网站被缓存时,图像会被缓存压缩。因此,缓存具有图像的压缩副本,而原始的高质量图像仍然存储在服务器上。 负责做我刚刚描述的工具是由网站的当前所有者开发的,因为我没有得到那个工具,我将需要另一个工具。该网站目前正在使用Pydio,我还没有看到任何压缩选项。

由于我似乎需要一个新的图像压缩过程工具,我想首先知道什么是最佳实践,性能方面,处理压缩,我知道这里有一些优秀,经验丰富的开发人员。

我想到了一些选择:

  1. 保持现在的状态,即将原始图像存储在服务器上,缓存时,将其压缩为缓存(与网站的最佳兼容性,因为这是当前正在使用的工具)。
  2. 当所有图片上传时压缩它们,因此我只会在服务器上使用压缩图像并使用它们进行缓存(节省存储空间,但不知道如何将其与{{1}结合使用})。
  3. 有一个cron会压缩所有尚未压缩的图像(使我能够自由上传图像而不必担心压缩图像,但图像不会立即压缩)。
  4. 将图像上传到压缩图像的网站,然后将输出的图像上传(真的,听起来很愚蠢,并且为了上传图像而乱七八糟)..
  5. 您认为最佳做法是什么?为什么?另外,压缩图像是否有更好的做法?

    另外,如果您知道任何具有API或其他任何API的工具,我将非常感谢您的光临。

    该网站使用PHP构建。

2 个答案:

答案 0 :(得分:0)

由于您要提出的问题是一个普遍的问题,所以我要放两分钱。

关于您的方法:

选项4-您可以使用某些脱机软件或外部站点进行压缩,但这似乎很繁琐。如果我每天需要上传一张图片,则可能会选择此选项。

选项2-由于您丢失了原始图片,因此我不想在上传时进行压缩。图像压缩会严重破坏某些图像。

关于选项1和3-我认为这取决于服务器的资源,图像数量,站点的流量等。通常,我更喜欢根据请求压缩/缓存,而不是上载,而是针对较小的站点,应该没什么大不同。

关于API-通常,您有两个选择:在服务器/站点上工作或使用外部服务。

在服务方面,我们使用CloudImage,它具有非常简单的API,并且对压缩过程有很大帮​​助(并在需要时调整大小)。此外,您还具有CDN的优点,这将提高性能。由于您使用的是Pydio,因此我认为您需要数据安全性和保密性,因此CloudImage对于您可能是一个不错的选择,因为他们非常重视保密性。

如果您愿意自己做,并且考虑到使用PHP,我建议使用ImageMagick和PHP库IMagick。您可以控制压缩的每个参数,文档非常不错。唯一的缺点是,要在不损失质量的情况下获得最佳压缩效果,首先要经过反复试验。

祝你好运!

答案 1 :(得分:-2)

将您在Whatsapp上的图像发送给其他人,收到的图像将被压缩为有效大小