Как преобразовать правило создания эскизов из скрепки в несущую волну

Я перехожу с Paperclip на Carrierwave. Здесь я пытаюсь преобразовать команды обработки для создания миниатюр:

  has_attached_file :image,
    styles: {
      thumb: '220x140#',
      big: '620x600>',
      no_proportion: '255x162!'
    },
    convert_options: {
      all: '-strip',
      thumb: '-delete 1--1',
      no_proportion: '-delete 1--1'
    }

Я планирую использовать MiniMagick. Я понял, что конвертирую из 220x140# в resize_to_fill(220,140), но не знаю, как конвертировать все остальные команды.

P.S. Было бы лучше, если бы я мог повторно использовать существующие команды и параметры ImageMagick, даже для изменения размера (т.е. без использования встроенного помощника по изменению размера).


person lulalala    schedule 22.02.2012    source источник


Ответы (1)


Я сделал следующее. Однако я не уверен, что это полностью эквивалентно.

  process :strip

  # Create different versions of your uploaded files:
  version :thumb do
    process :resize_to_fill => [220,140]
  end
  version :mobile do
    process :resize_to_fill => [320,210]
  end
  version :mobile_small do
    process :resize_to_fill => [256,168]
  end
  version :big do
    process :resize_to_limit => [620,600]
  end
  version :groupbuy_ad do
    process :resize_to_fill => [96,60]
  end
  version :email do
    process :resize_to_fill => [125,125]
  end
  version :widget_165 do
    process :resize_to_fill => [165,105]
  end
  version :widget_100 do
    process :resize_to_fill => [100,64]
  end
  version :no_proportion do
    process :resize => '255x162!'
  end

  def strip
    manipulate! do |img|
      img.strip
      img = yield(img) if block_given?
      img
    end
  end

  def resize(dimension)
    manipulate! do |img|
      img.resize dimension
      img = yield(img) if block_given?
      img
    end
  end

  def get_first_frame
    manipulate! do |img|
      img = img.delete '1--1'
    end
  end
person lulalala    schedule 04.10.2012