Как преобразовать правило генерации миниатюр из скрепки в несущую - PullRequest
0 голосов
/ 22 февраля 2012

Я мигрирую из Скрепки в 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), но я не уверен, как конвертировать все остальные команды.

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

1 Ответ

0 голосов
/ 04 октября 2012

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

  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
...