Image_Processing - MiniMagic - Shrine different quality for every derivatives

274 views Asked by At

Is there some way to set different quality for every created image? And of course leave original file with quality 88

image_uploader.rb

require "image_processing/mini_magick"

class ImageUploader < Shrine

    Attacher.derivatives do |original|
        magick = ImageProcessing::MiniMagick.source(original).saver(quality: 88)
        # generate the thumbnails you want here 
        { 
          thumb:  magick.resize_to_fill!(150, 150), /// quality 50
          medium: magick.resize_to_fill!(500, 500), /// quality 50
          large:  magick.resize_to_limit!(800, 800), /// quality 88
        }
    end

end
1

There are 1 answers

0
Mene On

You should be able to use saver to pass quality, like that:


{ 
  thumb:  magick.saver(quality: 50).resize_to_fill!(150, 150),
  medium: magick.saver(quality: 50).resize_to_fill!(500, 500),
  large:  magick.saver(quality: 88).resize_to_limit!(800, 800),
}