質問

画像が正確に特定の高さであるか、特定の高さであるか、または正方形であるかどうかを検証できるようにしたいと考えています。

モデルの検証ブロックでは、 has_attachment, 、アクセスしようとすると image_size, width, 、 または height, 、常に null として出力されます。

私も質問しました ここ さらに詳しく知りたい場合は。

役に立ちましたか?

解決

いや、あなたはなく、そんなに、それが仕事を得るためにビットをハックする必要があります。 attachment_fu独自の画像処理装置からの適応ます:

 validate :validate_image_size

  private

  def validate_image_size
    w, h = width, height

    unless w or h
      with_image do |img|
        w, h = img.columns, img.rows
      end
    end

    errors.add(:width, "must less than 250px")  if w > 250
    errors.add(:height, "must less than 250px")  if h > 250
  end
end

他のヒント

あなたは、あなたが取り組んでいるどのような言語とシステム指定していません。

それでも、ほとんどのWebフレームワークのために、私は標準的な方法は、画像を使用してこれを行うにと思い魔法に。機能を特定します。にます。

をお試しください

あなたはミニ魔術を見て撮影したことがありますか?

あなたがここからクローンgitのことができます:

http://github.com/probablycorey/mini_magick/tree/masterする

あなたはgitのについて学ぶために必要がある場合は、これらのリンクをチェックアウトします:

http://git.or.cz/course/svn.htmlする (転覆に比べ、Gitのとコースをクラッシュ)

http://github.com/guides/git-screencastsする(githubのスクリーンキャスト)

これは、ImageMagickの機能の周りのルビーラッパー(attachment_fuが内部的にこれを使用している場合はわからない)のですが、それは絶対に飛躍し、(RMagickは、メモリの問題の多くの非常に肥大化している)RMagickよりも良い境界です。とにかく、ミニ魔術あなたは、すべてあなたが必要なものと、いくつかの操作を行うようになります。上記githubのリンクに記載されているREADMEをチェックアウトし、それはあなたにそれを使用する方法の荒廃を与えるでしょう。

ここに抜粋です。

#For resizing an image
image = MiniMagick::Image.from_file("input.jpg")
image.resize "100x100"
image.write("output.jpg")

#For determining properties of an image...
image = MiniMagick::Image.from_file("input.jpg")
image[:width] # will get the width (you can also use :height and :format)

画像のサイズを変更するためにattachment_fuを使用するためにインストールする必要がある前提条件のgemが不足していると思います。私は次の gem に依存するattachment_fuプラグインを使用しました。

  1. rmagick-2.11.0

  2. image_science-1.2.0

上記の gem がインストールされていることを確認し、has_attachment の幅と高さを変更すると、変更が確認できます。

幸運を !

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top