如何使用carrierwave从图像中删除EXIF(相机)数据?

时间:2011-01-20 22:29:15

标签: ruby-on-rails exif carrierwave

有人知道吗? 使用回形针有一个特殊的配置命令。

从图像中删除相机数据,每个文件保留25-30 Kb。如果我们制作了很多版本(拇指,小......),它会非常敏感。在小图像中,没有此信息的文件的实际大小可以减少5-6倍。

提前致谢!

2 个答案:

答案 0 :(得分:23)

Carrierwave非常灵活,可以制作自己的处理器。使用MiniMagick,我们可以使用mogrify命令行实用程序的一堆选项,其中一个是条带:

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

  version :small do
    process :resize_to_fill => [100, 100]
    process :strip
  end

  def strip
    manipulate! do |img|
      img.strip
      img = yield(img) if block_given?
      img
    end
  end
end

答案 1 :(得分:1)

如果有人来到这里并想知道为什么它不起作用,那是因为它应该是 strip,而不是 strip!。方法名直接传递给ImageMagick,它不理解strip!