代码之家  ›  专栏  ›  技术社区  ›  AnApprentice

在Carrierwave中,如何为Google PageSpeed压缩图像

  •  1
  • AnApprentice  · 技术社区  · 8 年前

    当我使用Google PageSpeed时,有人告诉我需要压缩图像。例子:

    Compressing https://xxx.s3.amazonaws.com/xxxx.jpg could save 33.2KiB (66% reduction).
    

    我不知道如何让谷歌在这里开心。在Carrierwave中,我有以下设置:

    version :thumb do
      process resize_to_fill: [340, 260]
      process :quality => 86
    end
    

    如果我将处理质量移到86以外的任何值,图像看起来就不太好。是否还有其他设置/技巧可以让Google PageSpeed高兴并帮助我的网站快速加载?

    1 回复  |  直到 5 年前
        1
  •  1
  •   Blackcoat77 Sam Tyson    8 年前

    我还没试过 resize_to_limit 帮助者,可以帮助您:

    process :resize_to_limit => [340, 260]
    

    它将调整图像的大小以适应指定的尺寸,同时 保持原始纵横比。将仅在以下情况下调整图像的大小: 大于指定的尺寸。

    有几种方法可以进行图像优化。桌面和在线。对于桌面,我建议使用 JPEGOPTIM 用于优化jpeg文件的实用程序。

    提供无损优化(基于优化霍夫曼 表)和基于设置最大质量的“有损”优化 因素

    如果您在Linux上,请从您的终端安装:

    sudo apt-get install jpegoptim
    

    然后转到图像所在的文件夹,检查图像的第一个大小:

    du -sh photo.jpg
    

    之后,运行下面的命令进行优化:

    jpegoptim photo.jpg
    

    您将看到输出。

    您也可以将给定图像压缩到特定大小,但 禁用无损优化 .

    您还可以使用以下命令批量优化图像:

    jpegoptim *.JPG
    

    另一种桌面方式是使用PS或GIMP手动进行基本优化。包括裁剪不必要的空间,将颜色深度降低到可接受的最低水平,删除图像注释,以及( 为web保存 选项)

    您也可以使用在线解决方案。有很多,我建议这些,例如:

    https://tinypng.com

    https://kraken.io

    还有 WebP 格式( developed by Google )铬合金;Opera支持它,但Firefox不支持它,因此基本上需要根据能够显示这种格式的浏览器发送的HTTP Accept头有条件地提供图像。检查这个 Blog 如果您选择WebP格式,则可以使用gem。(轨道4)

    我希望这有帮助,