Если Вы пишете код в C тогда, Опытное Программирование C является сенсационным сообщением. Это имеет ответы на все вещи, Вы задались вопросом, почему это прокладывает себе путь. Липа Peter Van Der имеет большой стиль записи и делает тайные понятия очень читаемыми. Необходимость чтение для всех разработчиков C
По умолчанию задача Rake обновляет все эскизы. Имейте в виду, что он не будет касаться / обрабатывать исходное изображение.
Вы можете взглянуть на класс Rakefile и Attachment и изменить его, чтобы вы могли указать определенный размер миниатюр, но текущий дизайн предполагает, что вы хотите взять оригинал и переделать все миниатюры из оригинала.
Я забыл об этом - это не изящно, но у меня это сработало.
Один из ваших стилей должен иметь размеры, отличные от всех других стилей. Таким образом, в вашем пользовательском процессоре скрепок вы можете увидеть, содержит ли содержимое командной строки заданные размеры. Если так, вы бы сделали специальную обработку, в противном случае - нет.
(Я вырезал этот код - и изменил его - из эпизода 182 Райана Бэйта Railscast.)
module Paperclip
class Cropper < Thumbnail
def transformation_command
SPECIAL_PROCESSING_FLAG = "150x150"
if crop_command && super.include?(SPECIAL_PROCESSING_FLAG)
crop_command + super.sub(/ -crop \S+/, '')
else
super 'do nothing fancy
end
end
def crop_command
target = @attachment.instance
if target.cropping?
" -crop '#{target.crop_w.to_i}x#{target.crop_h.to_i}+#{target.crop_x.to_i}+#{target.crop_y.to_i}'"
end
end
end
end
В моей ситуации не имело значения, что мы производили повторную обработку и в неспецифическом случае, поскольку конечный результат изменился ничего такого.
Недавно у меня была похожая проблема, и я нашел это решение на доске объявлений. Надеюсь, это поможет!
has_attached_file :screenshot,
:default_style => :full,
:styles => {
:full => "280x210",
:cropped => { :processors => [:screenshot_crop] }
}