ホームページ作成/画像の表示・活用 (HTML,CSS,JavaScript)

HTMLファイルの中に画像を埋め込んで表示させる方法(3ページ目)

HTMLソースの中に画像を直接埋め込んで表示する方法を解説。HTMLはテキストデータですから、そのままではバイナリデータである画像を含められません。しかし、Base64という方法で画像をエンコード(=テキストデータに変換)すれば、画像をHTMLソースの中に直接埋め込むことができます。読み込むファイル数を削減して高速化したい場合などに活用できます。HTMLソース内に画像を直接挿入してみましょう。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

HTMLソース内に画像を埋め込む書式:img要素のsrc属性値に記述

ウェブページ上で画像を表示するためには、HTMLソースにimg要素を記述します。この点は、画像ファイルを指定する場合でも、Base64でエンコードした画像を埋め込む場合でも同じです。ただ、src属性値の書き方だけが異なります。比較しやすいように、両者の記述方法を以下に記します。

画像ファイルを読み込む場合の記述:
src属性の値には、画像ファイルのURLを記述します。
<img src="image.png" width="200" height="100" alt="イヌとネズミ">

HTML内に画像を埋め込む場合の記述:
src属性の値に、エンコードした画像を指定の書式で記述します。
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAA~以下略~" width="200" height="100" alt="イヌとネズミ">
つまり、「HTMLソース中に画像を埋め込む」とは「img要素のsrc属性値の中に、エンコードした画像を直接記述する」ということです。

詳しい書式を以下に解説します。

img要素のsrc属性値に直接画像を埋め込む場合の記述方法

画像を直接埋め込んだ場合のimg要素は、以下のように記述します。
<img src="data:形式名;base64,変換したデータ" width="横" height="縦" alt="代替文字">
src属性の部分だけを抜き出すと以下のようになります。
src="data:形式名;base64,変換したデータ"
このうち、「data:」の部分と「;base64,」の部分は常に同じなのでそのまま記述します。ここで使われている記号3つは、登場順にそれぞれコロン「:」→セミコロン「;」→カンマ「,」なので間違わないように注意して下さい。

「形式名」と「変換したデータ」の部分は、それぞれ以下のように記述します。

形式名:
ここには、MIME(マイム)タイプを記述します。例えば代表的な画像形式だと以下の通りです。
  • GIF画像なら「 image/gif 」と記述。
  • PNG画像なら「 image/png 」と記述。
  • JPEG画像なら「 image/jpeg 」と記述。
画像データなら「image」で始まります。スラッシュ「/」記号以後の部分はファイル拡張子と同じ場合が多いですが、JPEG画像の場合は(たとえ拡張子が「jpg」のように3文字だったとしても)「jpeg」のように4文字で記述しますからご注意下さい。なお、MIMEタイプの代表例は「MIMEタイプの包括的な一覧」(MDN)などで探せます。

変換したデータ:
ここには、Base64でエンコードした文字列をそのまま全部記述します。すべてを1行で記述しても構いませんし、途中に改行が含まれていても構いません。改行は、Base64でのエンコード部分の途中に挿入されていても問題ありません。下記の記述例では、エンコード部分を160文字ごとに改行しています。

完全な記述例:
本記事で使ったサンプル画像を埋め込んで表示するソースは、下記の通りです。画像をBase64でエンコードした部分は7,386文字あります。
<img src="data:image/png;base64,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
AgAEAgWlP8JNCihsAAAAASUVORK5CYII=" 
width="200" height="100" alt="イヌとネズミ" />
上記のimg要素をブラウザで表示すると、以下の画像が見えます。

イヌとネズミ

このように、HTMLソースの中に画像を埋め込むことができます。

代表的な多くのブラウザで表示できる

今回ご紹介した埋め込み方法は、よほど古いブラウザでない限りは表示できます。IE7以下では非対応なので見えません。IE8以上でなら見えます。ただし、IE8では埋め込める画像サイズに32KBの上限があります。本記事で使ったサンプルのPNG画像は7.65KBですからIE8でも表示可能です。IE9以上では上限が4GBにまで拡張されているため、事実上どんな画像でも問題なく埋め込めます。

※Firefox、Chrome、Safari、Operaでは、相当に古いバージョン(または最初のバージョン)から表示可能ですから、対応を気にする必要はありません。

HTMLファイルに画像を埋め込む方法

今回は、HTMLソースの中に画像を直接埋め込む方法として、Base64でエンコードする方法と書式、メリットとデメリットなどをご紹介いたしました。アイコンのような小さな画像を多数読み込んでいるようなページで、ぜひ活用してみて下さい。

なお、もしその画像が複数のページで読み込まれるのであれば、HTMLソース中に埋め込むよりも、CSSソース中に埋め込む方が望ましいでしょう。その方法は、記事「小さな画像をCSSソースに直接(Base64で)埋め込む方法」で解説していますので併せてご参照下さい。

【関連記事】

【編集部おすすめの購入サイト】
楽天市場でホームページ作成関連の書籍を見るAmazon でホームページ作成の参考書を見る
  • 前のページへ
  • 1
  • 2
  • 3
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます