【问题标题】:Is it possible to compress the size (bytes) of an image to a specific size using Paperclip?是否可以使用回形针将图像的大小(字节)压缩到特定大小?
【发布时间】:2011-02-14 17:53:19
【问题描述】:
我正在运行 Ruby on Rails 3,我想知道是否可以使用 Paperclip 插件/gem 将图像的大小(字节)压缩到特定大小。
例如,如果我上传 1500kb 的图片,我希望将拇指调整为 10kb。
此时我的模型文件中有:
:styles => {
:thumb => {
:geometry => '50x50#',
:quality => 50,
:format => :jpg
},
}
如果是这样,该怎么做?
【问题讨论】:
标签:
ruby-on-rails
ruby
image
compression
paperclip
【解决方案1】:
我不相信有办法将某些东西压缩到 特定 输出大小。一方面,可能无法将某些东西压缩到那个大小。使用 Jpeg,您可以调整“质量”参数,但没有真正的方法可以预测确切的压缩比。
如果您只需要特定文件大小以下的缩略图,请尝试以一个“质量”值压缩图像,然后逐步调整它,直到输出大小满足您的要求。
【解决方案2】:
Paperclip基于ImageMagick处理图像
据我所知,没有ImageMagick的选项可以指定输出图片的大小。
但您可以更改图像的尺寸或质量以减小尺寸。
您可以使用-quality选项将质量级别从1调整到100,-strip选项可以从图像中删除所有配置文件和其他绒毛
has_attached_file :photo,
:styles => {
:thumb => "100x100#" },
:convert_options => {
:thumb => "-quality 75 -strip" }
Paperclip wiki
ImageMagick options