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

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

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

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

画像ファイルをBase64でテキストデータにエンコード(変換)する方法

まずは、HTMLソース内に埋め込みたい画像ファイルをBase64でエンコードしましょう。画像などの任意のファイルをBase64でエンコードするには、ウェブ上にあるエンコードサービスを使う方法や、変換ソフトを使う方法などがあります。以下に各エンコード方法の操作例を掲載しておきます。

ウェブ上のサービスを使ってBase64でエンコードする方法
ウェブ上で任意のファイルをエンコードしてくれるサービスサイトは多数あります。下図はそのうちの1つ「画像をbase64エンコードするツール」(Syncer)です。

(1)ローカルにある画像ファイルを指定すると、(2)その瞬間にBase64でのエンコード結果が表示される

(1)ローカルにある画像ファイルを指定すると、(2)その瞬間にBase64でのエンコード結果が表示される


赤丸1に示したように変換したい画像ファイルを読み込ませると、赤丸2で示したようにBase64でテキストデータにエンコードした結果を表示してくれます。JavaScriptを使ってローカル環境内で実行される仕様なので、すぐに変換されます。


 
テキストエディタ内蔵の機能を使ってBase64でエンコードする方法
テキストエディタ「EmEditor」には、内蔵の機能を使ってBase64のエンコード・デコードができます。下図のように、メニューから[編集]→[選択範囲のエンコード/デコード]→[バイナリファイルをBase64に変換]をクリックすると使えます。

テキストエディタEmEditorにはBase64エンコード機能もある

テキストエディタEmEditorにはBase64エンコード機能もある


エンコード結果のテキストデータは、そのまま編集領域のカーソル位置に挿入されます。EmEditorを使ってHTMLソースを編集しているなら、エンコード結果をコピーする手間すら省けて便利です。


 

画像をBase64でエンコードした結果の例

本記事の冒頭でもご紹介したイヌとネズミの画像をBase64でテキストデータにエンコードすると、下図のような英数字の羅列に変換されます。

PNG画像ファイルをBase64でエンコードした結果

PNG画像ファイルをBase64でエンコードした結果


エンコード結果は英数字の羅列ですから、もちろん人間が読んでも内容は分かりません。しかし、テキストデータとして取り扱える64種類の文字しか使われていないため、テキストエディタ等に読み込んでも文字化けはしません。ですから、後述の記述方法を使って問題なくHTMLソース内に埋め込めるのです。なお、エンコード後の文字列全部を見たい場合はこちらをご覧下さい。

注:データサイズは約1.33倍に増える
Base64では、バイナリデータを64種類の文字だけで表すため、元のファイルと比べるとデータサイズは約1.33倍(=4/3倍)に増えます。上図の例では、元の画像ファイルが5.73KB、エンコード後のテキストデータが7.65KBです。つまり、この方法には以下のメリットとデメリットがあります。

  • [メリット] サーバとの通信回数を減らせる(前ページで解説した通り)
  • [デメリット] ダウンロードするデータ量が増える

あまりにも大きな画像をエンコードすると、「サーバとの通信回数を削減できることによって得られる節約時間」を打ち消すほどのダウンロード時間がかかってしまい、メリットよりもデメリットが上回ってしまいます。この方法を使ってHTMLファイル内に埋め込むのは、アイコンなどのようなデータサイズの小さな画像だけに留めておきましょう。

それでは最後に、Base64でエンコードした画像をHTMLソース内に埋め込むための書式をご紹介いたします。
  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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