画像が正確に特定の高さまたは特定の高さであるか、または正方形であるかを検証できるようにしたいと考えています。
というモデルの検証ブロックで、、、またはhas_attachment
にアクセスしようとすると、常に null として出力されます。image_size
width
height
詳細が必要な場合は、こちらでも質問しました。
画像が正確に特定の高さまたは特定の高さであるか、または正方形であるかを検証できるようにしたいと考えています。
というモデルの検証ブロックで、、、またはhas_attachment
にアクセスしようとすると、常に null として出力されます。image_size
width
height
詳細が必要な場合は、こちらでも質問しました。
ええ、それを機能させるには少しハックする必要がありますが、それほど多くはありません。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
mini-magickを見たことがありますか?
ここからgitcloneできます:
http://github.com/probablycorey/mini_magick/tree/master
gitについて学ぶ必要がある場合は、次のリンクを確認してください。
http://git.or.cz/course/svn.html(Subversionと比較したgitによるクラッシュコース)
http://github.com/guides/git-screencasts(github screencasts)
これはimagemagick関数のルビーラッパーです(attachment_fuがこれを内部で使用するかどうかは不明です)が、RMagickよりも完全に飛躍的に優れています(RMagickは非常に肥大化しており、多くのメモリの問題があります)。とにかく、mini-magickを使用すると、必要なすべてのことを実行してから、いくつかのことを実行できます。上記の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プラグインを使用しました
rmagick-2.11.0
image_science-1.2.0
gem の上にインストールしたことを確認し、has_attachment で幅と高さを変更すると、変更が表示されます。
幸運を !