質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

266閲覧

rmagickで縦長画像であっても幅・高さ固定の横長画像のサムネイルを作成したい

hiromichi0

総合スコア0

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/10/15 15:15

前提・実現したいこと

画像を画面からアップロードする際に、一覧画面用表示用に横400px, 縦300pxのサムネイル画像を作成しようとしています。
(一覧画面で、複数列構成の画像をずれないように並べて表示するため)

画像登録・サムネイル作成にはrails6 + carrierwave + rmagickを使用しており、画像アップロード時に以下のアップローダー(ソースコード参照)を作成し、resize_to_fillメソッドを使用しています

発生している問題・エラーメッセージ

横長画像に対しては、問題なく、横400×縦300のサムネイル画像を作成できるのですが、
元画像が縦長画像の場合は、サムネイルが縦400×横300となってしまいます。

該当のソースコード

ruby

1class DefaultUploader < CarrierWave::Uploader::Base 2 include CarrierWave::RMagick 3 4 storage :file 5 6 def store_dir 7 "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 8 end 9 10 version :thumb do 11 process resize_to_fill: [400, 300] 12 end 13end

試したこと

以下でrmagckのresize_to_fillの仕様を確認しましたが、縦長画像の場合の取り扱いは不明だったため、質問させていただきました。
(https://rmagick.github.io/image3.html#resize_to_fill)

知りたいこと

  • rmagickでは、resize_to_fillメソッド含め、やりたいこと(縦長、横長に関わらず幅高さ指定のサムネイルを作成すること)を実現することは無理なのか
  • やりたいことを実現するために他のライブラリなどがあれば教えてほしい(ただしrails環境上で使用できるもの)

補足情報(FW/ツールのバージョンなど)

ruby 2.6.4
rails 6.0.3.1
carrierwave 2.1.0
rmagick 4.1.2
ImageMagick 7.0.10-19

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問