是否可以使用Paperclip将图像的大小(字节)压缩为特定大小?

时间:2011-02-14 17:53:19

标签: ruby-on-rails ruby image compression paperclip

我正在运行Ruby on Rails 3,我想知道是否可以使用Paperclip插件/ gem将图像的大小(字节)压缩到特定大小。

例如,如果我上传1500kb的图像,我想将拇指大小调整为10kb。

此时在我的模型文件中我有:

:styles       => {
  :thumb      => {
    :geometry => '50x50#',
    :quality  => 50,
    :format   => :jpg
  },
}

如果是的话,怎么做?

2 个答案:

答案 0 :(得分:1)

我不相信有一种方法可以将某些东西压缩为特定的输出大小。首先,可能无法将某些东西压缩到那么大。使用Jpeg,您可以调整“质量”参数,但没有真正的方法来预测确切的压缩率。

如果你需要的只是某个文件大小的缩略图,请尝试以一个'质量'值压缩图像,然后逐步调整它直到输出大小符合您的要求。

答案 1 :(得分:0)

Paperclip根据ImageMagick

处理图片

据我所知,ImageMagick没有选项可以指定输出图像的大小。

但您可以更改图像的尺寸或质量以缩小尺寸。

您可以使用-quality选项将质量级别调整为1到100,-strip选项可以从图像中删除所有个人资料和其他绒毛

has_attached_file :photo,
  :styles => {
  :thumb => "100x100#" },
  :convert_options => {
  :thumb => "-quality 75 -strip" }

Paperclip wiki

ImageMagick options