ruby 使用Paperclip自定义处理器在Rails中模糊图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 使用Paperclip自定义处理器在Rails中模糊图像相关的知识,希望对你有一定的参考价值。

module Paperclip

  class Blur < Processor

    def initialize file, options = {}, attachment = nil
      super
      @format = File.extname(@file.path)
      @basename = File.basename(@file.path, @format)
    end

     def make  
       src = @file
       dst = Tempfile.new([@basename, @format])
       dst.binmode

       begin
         parameters = []
         parameters << ":source"
         parameters << "-blur 0x8"
         parameters << ":dest"

         parameters = parameters.flatten.compact.join(" ").strip.squeeze(" ")

         success = Paperclip.run("convert", parameters, :source => "#{File.expand_path(src.path)}[0]", :dest => File.expand_path(dst.path))
       rescue PaperclipCommandLineError => e
         raise PaperclipError, "There was an error during the blur conversion for #{@basename}" if @whiny
       end

       dst
     end

  end
end

以上是关于ruby 使用Paperclip自定义处理器在Rails中模糊图像的主要内容,如果未能解决你的问题,请参考以下文章

ruby Paperclip中的协议相对URL

Ruby on rails将base64保存为xlsx(或pdf或word)并使用paperclip保存

通过ruby OpenURI下载文件时出现间歇性EOFError

音频的内容不是他们所报道的内容 - Paperclip

为啥在安装 PaperClip 时会出现“未定义的 `has_attached_file` 方法?

Paperclip安装后未定义的方法has_attached_file?