我正在运行 Ruby on Rails 3,我想使用 Paperclip 插件/gem 减小上传图像的大小(以字节为单位)。我需要它,因为我想提高与应用程序中网页加载时间相关的性能。
此时在我的模型文件中我有:
has_attached_file :avatar,
:styles => {
:small => ["250x250#", :jpg]
}
:convert_options => { :small => '-quality 40' }
这会将图像转换为 .jpg
格式,设置尺寸并将质量降低到 40(此值仅用于测试)。
但是,我注意到,尽管质量有所下降,但文件的大小并没有太大变化。例如,我使用和不使用选项 :convert_options => { :small => '-quality 40' }
:
# Without using the 'convert_options'
Image size: 57.35 kB (58730 bytes)
# Using the 'convert_options'
Image size: 55.25 kB (56576 bytes)
为什么差别这么小?在不损失太多质量的情况下缩小尺寸的最佳做法是什么?
更新:也许,正如@Matt Gibson 在评论这个问题时所说,对于压缩来说,“图像看起来 的样子”(例如照片)也很重要。似乎压缩因图像中的背景、颜色数量...而因图片而异。
最佳答案
您说您想改善网站的加载时间,那么让我提供一个替代解决方案。为什么不将您的图像卸载到像 amazon s3 这样的服务? (简单的存储系统)以便他们可以为您提供图像?为了真正加快速度,您可以使用像 amazon cloud front 这样的内容交付服务。 .这可能会比降低图像质量更能加速您的网站。另一个好处是,当您开始时它会非常便宜(很可能是免费的),并且如果您最终需要它,您将能够在未来轻松扩展。
关于ruby-on-rails - 回形针:为什么尽管质量降低了,图像的大小却没有太大变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4992735/