2011-02-14 61 views
6

我on Rails的3运行Ruby和我想,以减少使用回形针插件/宝石上载图像的质量。 我该怎么做?如何减少使用回形针的上传图像的质量?


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

has_attached_file :avatar, 
    :styles  => { 
     :thumb  => ["50x50#", :jpg], 
     :medium => ["250x250#", :jpg], 
     :original => ["600x600#", :jpg] } 

,将图像转换到.jpg格式,将设置尺寸。

回答

16

尝试。

has_attached_file :avatar, 
        :styles   => { :thumb => '50x50#' }, 
        :convert_options => { :thumb => '-quality 80' } 
12

paperclip wiki,有质量的选项:使用convert_options

class User < ActiveRecord::Base 
    has_attached_file :photo, 
        :styles => { 
         :small => { 
         :geometry => '38x38#', 
         :quality => 40, 
         :format => 'JPG' 
         }, 
         :medium => { 
         :geometry => '92x92#', 
         :quality => 50 
         } 
end 
+1

我喜欢做那,但它接缝不起作用:回形针不会降低图像质量!我也尝试重新启动服务器。 – user502052 2011-02-14 03:39:30

+0

它为我工作。确保,如果你在一个轨道控制台和运行再处理,退出并重新运行轨道控制台,因为否则将无法拿起模型的变化。 – 2012-06-16 20:02:44

3

正如詹姆斯说,一旦你找出正确的参数传递到ImageMagick的convert通过实验在命令行中,你可以通过这些通过convert_options选项,如詹姆斯的例子回形针。

如果你有多个参数,在将它们作为一个数组。这里是我辛辛苦苦一会儿一个例子:

:convert_options => {:medium => ["-shave", "2x2", "-background", "white", 
           "-gravity", "center", "-extent", 
           "530x322", "+repage"], 
        :small => ["-shave", "1x1"] } 
0

除了-quality-strip选项ImageMagick可以从图像中删除所有配置文件和其他绒毛这可以减少更多的大小

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