В несущей волне удалить изображение, но сохранить цветовой профиль ИЛИ преобразовать цветовой профиль в sRGB

У меня в основном такая же проблема:

Как удалить exif из JPG без потери качества изображения?

Но я использую Rails и Carrierwave. Я не уверен, как решение Робберта преобразуется в Ruby.

Любая помощь будет принята с благодарностью! Спасибо!


person JPN    schedule 20.06.2014    source источник


Ответы (1)


Из документов carrierwave , вы можете добавить к загрузчику что-то вроде следующей функции mogrify:

class PhotoUploader < CarrierWave::Uploader::Base
  include CarrierWave::MiniMagick

  process :mogrify

  # ...

  def mogrify
    manipulate! do |img|
      img.format('jpg') do |c|

        # other options you may want, eg:
        # c.auto_orient

        convert.profile.+('!icc,!xmp,*')
      end
      img
    end
  end
end

который удалит данные EXIF, но сохранит профили ICC и XMP в JPG.

person ivnts    schedule 24.07.2014
comment
Я заметил, что при обновлении моего драгоценного камня mini_magick до 4.2 (было 3.4) у меня тоже были проблемы. Попробуйте изменить две строки из моего ответа на эту строку: convert.profile.+('!icc,!xmp,*') - person ivnts; 10.07.2015