2012-11-20 10 views

cevap

12

Sadece nedenini Andrey kod etmedim bulmaya çalışıyorlar üç saat geçirdim, çünkü MiniMagick bazı değişiklikler olmuştur düşünüyorum Benim için çalış.

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"}) 

Sonunda MiniMagick :: Görüntü yöntemi collapse! (burada bulunabilir: http://www.ruby-doc.org/gems/docs/j/jf--mini_magick-3.1/MiniMagick/Image.html#method-i-collapse-21) sahip olduğu bulunmuştur: sorunu çözer: Bu sürdü

process :remove_animation 

def remove_animation 
    manipulate! do |img| 
    if img.mime_type.match /gif/ 
     img.collapse! 
    end 
    img 
    end 
end 
+0

Denemedim ama bu kulağa ideal geliyor. Mesaj için teşekkürler. – alistairholt

+0

Yöntem şu şekilde yeniden yazılabilir: content_type == 'image/gif' –

3

It çalışmaları:

def only_first_frame 
    manipulate! do |img| 
     if img.mime_type.match /gif/ 
     if img.scene == 0 
      img = img.cur_image #Magick::ImageList.new(img.base_filename)[0] 
      else 
      img = nil # avoid concat all frames 
     end 
     end 
     img 
    end 
    end 

Ardından aramak gerekir:

process :only_first_frame 
+0

Özür olduğunu

aşağıdaki hata var Cevabınızı kabul etmek için çok uzun zaman! – alistairholt

İlgili konular