HTMLで画像の画質が荒くなる原因と対処法を現役デザイナーが解説【初心者向け】
初心者向けにHTMLで画像の画質が荒くなる原因と対処法について解説しています。各画像ファイル形式やサイズの基本、CSSによる画像の最適化の方法、HTMLによる指定の方法について説明します。不具合の際に参考にしてください。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
HTMLで画像の画質が荒くなる原因と対処法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
そもそも、HTMLの記述方法がわからない場合は、 HTMLの書き方について解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、Webデザイン講座のHTMLカリキュラムをもとに執筆しています。
今回は、HTMLに関する内容だね!
どういう内容でしょうか?
画像の画質が荒くなる原因と対処法について詳しく説明していくね!
お願いします!
画像が荒くなる原因は画像形質
画像が荒くなる原因の一つとして、正しいファイルフォーマットが使われていない、というのが大きな原因であることが考えられます。以下に現在画像で使える主なファイルフォーマットとメリット・デメリットを示します。
JPEG、PNG-24
- メリット:1670万色の色が使い分けられるので、風景写真などに最適
- デメリット:色があまり使われていないものや、イラストなどはにじんだように見えてしまう。また、画像の拡大・縮小によって画像が荒くなる。透過性のある画像は作成できない
GIF、PNG-8
- メリット:イラストなどの色をあまり使用しないもの向き。ファイルサイズが軽い GIFは簡単なアニメーション動画が作れる
- デメリット:色が最大で256色しか使えないので、画像の保存には向いていない
PNG-32
- メリット:透明や半透明を扱うことができるので、いろんなデザインに向いている
- デメリット:画像が重くなりがちなので、大きなサイズの画像には向いていない
画像サイズも原因の1つ
そして、次に考えらえる原因が画像サイズです。実際に表示しているブラウザの幅や高さ指定より、実際の画像サイズのほうが小さいと、画像は荒くなってしまいます。また、スマホの場合、Retinaディスプレイでは表示サイズ通りの画像を配置すると画像が荒くなってしまいます。
とはいえ、大きすぎる画像を載せてしまうのはサイトを重くする原因となりますので厳禁です。
サイトに載せる画像の大きさの目安として
- pc:幅1980pxを超えない程度
- スマホ:幅750px~1000px程度(ブラウザ幅の2倍くらい)
に作成するのがいいでしょう。
画像の最適化
cssで画像のサイズを最適化する方法があります。
img { max-width: 100%; height: auto; }
と書いておくことで、少し大きめの画像を使用しても親要素の100%は超えないようになります。これで、少しだけ大きめの画像を用意しても画像が要素からはみ出ることはありません。
HTMLで指定できること
また、HTMLに幅と高さを指定しておくことで、画像が変に引き延ばされて荒くなってしまうことを防ぐこともできます。
<img src="/img/hoge.jpg" alt="" width="200px" height="150px">
このように、画像を同じ大きさのwidth(幅)と高さ(height)を指定してあげることもできます。
画像が荒くなる原因と対処法
画像が荒くなってしまう大きな原因は
- 正しい拡張子で画像をフォーマットしているか
- 表示されるブラウザ幅より小さいサイズの画像を使用していないか
で解決される場合がほとんどです。画像がにじんできれいに出ない…と悩んだら、まずこの二つを見直してみるのがいいでしょう。
監修してくれたメンター
メンター増田直子
40歳直前までHTMLの存在すら知らなかったのですが、現在はWordPressを中心としたwebデザイン/コーディングをしているフリーランサーです。 趣味はスキューバーダイビング・年間3度は海のある国内外へ旅行してます。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは初心者でも、オリジナルWebサイトを公開できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。