Я пытаюсь заострить изображения, загруженные через скрепку.Код повышения резкости работает, но это приводит к тому, что стили не работают.Код выглядит так:
has_attached_file :photo,
:styles => {
:thumb => {:geometry => "100x100>"},
:medium => {:geometry => "300x300>"},
:original => {:geometry => "1024x1024>"}
},
:processors => [:sharpen],
:storage => :s3,
:s3_credentials => "#{Rails.root}/config/s3.yml",
:path => "/:style/:id/:filename"
Теперь, если я уберу опцию «Процессоры», загруженные изображения будут изменены, как указано.Однако, если я включу опцию «Процессоры», все полученные изображения будут иметь оригинальный размер.
Мой процессор повышения резкости выглядит следующим образом:
module Paperclip
class Sharpen < Paperclip::Processor
def initialize file, options = {}, attachment = nil
super
@file = file
@current_format = File.extname(@file.path)
@basename = File.basename(@file.path, @current_format)
end
def make
dst = Tempfile.new(@basename)
dst.binmode
command = "#{File.expand_path(@file.path)} -unsharp 1.5×1.0+1.5+0.02 #{File.expand_path(dst.path)}"
begin
success = Paperclip.run("convert", command)
rescue PaperclipCommandLineError
raise PaperclipError, "There was an error converting sharpening the image for #{@basename}"
end
dst
end
end
end
Есть мысли?