Я использую Ruby on Rails 3, и я хотел бы уменьшить размер (в байтах) загружаемого изображения с помощью плагина Paperclip / gem.Мне это нужно, потому что я хотел бы повысить производительность, связанную со временем загрузки веб-страниц в моем приложении.
На данный момент в моем файле модели есть:
has_attached_file :avatar,
:styles => {
:small => ["250x250#", :jpg]
}
:convert_options => { :small => '-quality 40' }
Это будетпреобразуйте изображения в формат .jpg
, установите размеры и уменьшите качество до 40 (это значение только для тестирования).
Однако я заметил, что, несмотря на снижение качества, размерфайл не сильно меняется.Например, я сообщаю размер изображения с использованием и без использования опции :convert_options => { :small => '-quality 40' }
:
# Without using the 'convert_options'
Image size: 57.35 kB (58730 bytes)
# Using the 'convert_options'
Image size: 55.25 kB (56576 bytes)
Почему разница так мала?Как лучше всего уменьшать размер без потери качества?
ОБНОВЛЕНИЕ : Возможно, как сказал @Matt Gibson, комментируя этот вопрос, для сжатия этоважно также, «как изображение выглядит как» (например, фотографическое).Кажется, что сжатие варьируется от картинки к картине в зависимости от фона, количества цветов, ... на изображении.