任何人都知道如何使用Carrierwave MiniMagick将动画GIF压缩到第一帧?
解决方法
我认为MiniMagick有一些变化,因为我花了三个小时试图找出为什么安德烈的代码对我不起作用.
我收到以下错误:
ActiveRecord::RecordInvalid (Validation Failed: Image Failed to manipulate with MiniMagick,maybe it is not an image? Original Error: Command ("mogrify -scene /var/folders/0o/0oqNck+++TI/-Tmp-/mini_magick2022-499-15zc.gif") Failed: {:status_code=>1,:output=>"mogrify: invalid argument for option `/var/folders/0o/0oqNck+++TI/-Tmp-/mini_magick2022-499-15zc.gif': -scene @ error/mogrify.c/MogrifyImageCommand/5558.\n"})
最后我发现MiniMagick :: Image的方法崩溃了! (在这里找到:http://www.ruby-doc.org/gems/docs/j/jf–mini_magick-3.1/MiniMagick/Image.html#method-i-collapse-21)解决了这个问题:
process :remove_animation def remove_animation manipulate! do |img| if img.mime_type.match /gif/ img.collapse! end img end end