Techioz Blog

Paperclip はアニメーション GIF を保存します。これをやめるよう指示するにはどうすればよいでしょうか?

概要

したがって、アニメーションサムネイルを生成したくありません。これをクリップで説明する簡単な方法はありますか?

アップしました。

もちろん、アニメーションを JPEG に変換するオプションもあります。しかし、私にとって、これは非常に非効率的な ImageMagic コマンドになります (最終的には平らな画像を生成するためにすべてのフレームを処理しているように見えます)。特に大きな GIF の場合はイライラし、時間がかかります。

また、最初のフレームだけを抽出する必要があるときに gif を別の形式に変換するのは、私にとっては適切とは思えません。結局のところ、フォーマットを切り替えたくないのです。

以下で @faron がコメントしたように、ImageMagic にはシーケンスからフレームを選択するための特別な構文、convert anime.gif[0] Frame0.gif があります。私が本当に見つけたいのは、ペーパークリップにこの構文を使用するように指示する方法です。

解決策

解決策は非常に簡単であることがわかりました。 Paperclip::Thumbnail プロセッサに渡すことができるアニメーション オプションがあります。アニメーション化オプションが false の場合、Paperclip はアニメーションの最初のフレームのみが必要であることを認識します。例:

has_attached_file :pic,
  styles: {
    large: { geometry: "700>", animated: false },
    thumb: { geometry: "280>", animated: false },
  }, 
  ...