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

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

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

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1789閲覧

画像や大きさによって、画質が悪くなってしまう。

avicii

総合スコア49

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/06/01 11:38

今現在、image_uploaderを使い、画像を表示しているのですが、画像や画像の大きさにより、画像の画質が悪くなっています。image_uploaderのリサイズなどで調整をしているつもりなのですが、機能していない状態にいます。もしわかる方がいらしたら、教えていただけたら、嬉しいです。

plans/index.html.erb
一覧
plans/show.html.erb
詳細

uploaders/image_uploader.rb

class ImageUploader < CarrierWave::Uploader::Base # Include RMagick or MiniMagick support: #画像形式を変更するのに必要 include CarrierWave::RMagick # include CarrierWave::MiniMagick # Choose what kind of storage to use for this uploader: storage :file # storage :fog # Override the directory where uploaded files will be stored. # This is a sensible default for uploaders that are meant to be mounted: def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end # Provide a default URL as a default if there hasn't been a file uploaded: # def default_url(*args) # # For Rails 3.1+ asset pipeline compatibility: # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_')) # # "/images/fallback/" + [version_name, "default.png"].compact.join('_') # end #画像をリサイズする process :resize_to_limit => [400, 950] # Process files as they are uploaded: # process scale: [200, 300] # # def scale(width, height) # # do something # end #保存形式をJGにする process :convert => 'jpg' # Create different versions of your uploaded files: #サムネイルを生成する設定 version :thumb do process :resize_to_limit => [300, 300] end # Add a white list of extensions which are allowed to be uploaded. # For images you might use something like this: #これらからしか保存できない def extension_whitelist %w(jpg jpeg gif png) end # Override the filename of the uploaded files: # Avoid using model.id or version_name here, see uploader/store.rb for details. #ファイルをコンパイルする def filename super.chomp(File.extname(super))+'jpg' if original_filename.present? end end

plans/index.html.erb

1<div class="contents center"> 2 <% @plans.each do |plan| %> 3 <div class="content_post" style="background-image: url(<%= plan.image %>);" > 4 <div class="more"> 5 6 <ul class="more_list"> 7 <li> 8 <%= link_to '', "/plans/#{plan.id}", method: :get %> 9 </li> 10 11 </ul> 12 </div> 13 <%= simple_format(plan.title) %> 14 <span class="name"> 15 <a href="/guiders/<%= plan.guider_id %>"> 16 <span>guider</span><%= plan.guider.nickname %> 17 </a> 18 </span> 19 20 </div> 21 22 <% end %> 23 <%= paginate(@plans) %> 24 25 26 </div>

plans/show.html.erb

1<div class="main"> 2 <i class="fas fa-chevron-circle-left" aria-hidden="true" id="prev"></i> 3 <img src="<%= @plan.image %>" id="target" style="width: 950px; max-width: 100%; height: 400px; padding-bottom: 15px; padding-top: 20px; "> 4 <i class="fas fa-chevron-circle-right" aria-hidden="true" id="next"></i> 5 </div> 6 <div class="king"> 7 <ul class="example"> 8 <li class="current"><img src="<%= @plan.image %>" alt="写真1" style=" width: 185px; height: 123px;"></li> 9 <li><img src="<%= @plan.second_image %>" alt="写真2" style="width: 185px; height: 123px;"> 10 </li> 11 <li><img src="<%= @plan.third_image %>" alt="写真3" style="width: 185px; height: 123px;"> 12 </li> 13 <li><img src="<%= @plan.fourth_image %>" alt="写真4" style="width: 185px; height: 123px;"> 14 </li> 15 <li><img src="<%= @plan.five_image %>" alt="写真5" style="width: 185px; height: 123px;"> 16 </li> 17 18 </ul> 19 </div> 20</div>

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

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

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

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

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

guest

回答1

0

ベストアンサー

画像のheightを指定しないか、object-fit を使いましょう。
width height 両方を指定すると、画像自体の縦横比を無視して引き伸ばしてしまいます。

【object-fit - CSS: カスケーディングスタイルシート | MDN】
https://developer.mozilla.org/ja/docs/Web/CSS/object-fit

【1行追加でOK!CSSだけで画像をトリミングできる「object-fit」プロパティー | Webクリエイターボックス】
https://www.webcreatorbox.com/tech/object-fit

投稿2019/06/01 18:38

kei344

総合スコア69407

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

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

avicii

2019/06/05 11:25

ありがとうございます。うまく動くことができるようになりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問