Можно ли сжать размер (в байтах) изображения до определенного размера с помощью скрепки? - PullRequest
0 голосов
/ 14 февраля 2011

Я использую Ruby on Rails 3, и я хотел бы знать, возможно ли сжимать размер (в байтах) изображения до определенного размера с помощью плагина Paperclip / gem.

Например, если я загружаю изображение размером 1500 КБ, мне бы хотелось, чтобы размер большого пальца уменьшился до 10 КБ.

На данный момент в моем файле модели:

:styles       => {
  :thumb      => {
    :geometry => '50x50#',
    :quality  => 50,
    :format   => :jpg
  },
}

Если так, как это сделать?

Ответы [ 2 ]

1 голос
/ 14 февраля 2011

Я не верю, что есть способ сжать что-то до определенного выходного размера.С одной стороны, может быть невозможно сжать что-то до этого размера.С помощью Jpeg вы можете настроить параметр «качество», но нет реального способа предсказать, какой будет точная степень сжатия.

Если все, что вам нужно, это миниатюры, которые имеют определенный размер файла, попробуйте сжать изображение водно «качественное» значение, а затем постепенно корректировать его до тех пор, пока выходной размер не будет соответствовать вашим требованиям.

0 голосов
/ 28 февраля 2017

Paperclip обрабатывает изображение на основе ImageMagick

Насколько я знаю, здесь нет опции ImageMagick, позволяющей указать размер выходного изображения.

Но вы можете изменить размер или качество изображения, чтобы уменьшить его размер.

Вы можете использовать опцию -quality, чтобы настроить уровень качества от 1 до 100, а опция -strip может удалить весь профиль и другие пух с изображения

has_attached_file :photo,
  :styles => {
  :thumb => "100x100#" },
  :convert_options => {
  :thumb => "-quality 75 -strip" }

Скрепка для вики

Опции ImageMagick

...