17

既存の画像のサイズを「260x180」などに変更するにはどうすればよいですか?

現在、Carrierwave と Rmagick を使用して Amazon S3 ストレージ バケットに画像をアップロードしています。これにより、元のバージョンとサム バージョン (70x70) の 2 つのバージョンのイメージが作成されます。

これで、260x180 を含む 3 つのバージョンが作成されるように別のバージョンを作成できることはわかっていますが、それではストレージ データベースが過度に混雑しているように感じ、ビュー レベルでそれを行うことができないかと考えていました。

私は試した

<%= image_tag(@syllabus.image_url, :size => "260x180") %> 

しかし、うまくいかないようです - 画像は同じサイズではありません。

また、画像が希望する出力よりも小さい場合、より大きな画像とは異なることをする必要がありますか? たとえば、大きいものは切り取る必要がありますが、小さいものは拡大する必要がありますか? それとも、目的のサイズに自動的にスケーリングされますか?

4

4 に答える 4

3

必要に応じて、クラウドで自動画像サイズ変更を使用できます。たとえば、次のコマンドは、画像のサイズを変更して 260x180 の四角形を埋めます。

<%= cl_image_tag("my_image.png", :size => "260x180", :crop => :fill) %>

このブログ投稿では、すべての画像がクラウドに保存され、高速 CDN を介して配信され、すべての変換がクラウドで動的に行われるときに CarrierWave を使用する方法について説明します (RMagick をインストールする必要はありません)。

于 2012-05-06T15:20:23.057 に答える