JavaScriptを使って複数の画像を1枚の画像に結合する方法
JavaScriptでは、<canvas>要素を活用することで、複数の画像を1枚の画像に重ね合わせて結合することができます。本記事では、2つの画像を半透明にブレンドしながら合成するサンプルコードを紹介します。
サンプルコード
以下は、JavaScriptを使って複数の画像を1つの画像に結合するコード例です。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>画像の結合</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
</style>
</head>
<body>
<h1>複数の画像を1枚に結合する</h1>
<img class="image" src="https://i.picsum.photos/id/845/250/250.jpg?hmac=2l7QArh4UKul2qF-JvTjaBu3-WF2KpKBgpBALmFoxWY"/>
<img class="image" src="https://i.picsum.photos/id/925/250/250.jpg?hmac=twWJdaKT46cPk1aNvB7aKdiLZoQzvzu5VW85OEUO4ys"/>
<canvas class="result"></canvas>
<br />
<button class="Btn">CLICK HERE</button>
<h3>上のボタンをクリックすると、2つの画像が結合されます</h3>
<script>
let imgEle1 = document.querySelectorAll(".image")[0];
let imgEle2 = document.querySelectorAll(".image")[1];
let resEle = document.querySelector(".result");
var context = resEle.getContext("2d");
let BtnEle = document.querySelector(".Btn");
BtnEle.addEventListener("click", () => {
resEle.width = imgEle1.width;
resEle.height = imgEle1.height;
context.globalAlpha = 1.0;
context.drawImage(imgEle1, 0, 0);
context.globalAlpha = 0.5;
context.drawImage(imgEle2, 0, 0);
});
</script>
</body>
</html>
コードの解説
このコードの仕組みは以下の通りです。
- 画像要素の取得:
querySelectorAll(".image")で、ページ内に配置した2つの<img>要素を取得します。 - 描画コンテキストの取得:
getContext("2d")を使って、canvasの2D描画コンテキストを取得します。 - キャンバスサイズの設定:ボタンがクリックされると、canvasの幅と高さを1枚目の画像のサイズに合わせて設定します。
- 1枚目の画像の描画:
globalAlphaを1.0(完全不透明)に設定し、drawImage()で1枚目の画像を描画します。 - 2枚目の画像の重ね合わせ:
globalAlphaを0.5(半透明)に変更してから2枚目の画像を描画することで、2つの画像がブレンドされた状態で合成されます。
globalAlphaの値は0.0(完全に透明)から1.0(完全不透明)の間で指定でき、この値を調整することで画像のブレンド具合を自由にコントロールできます。
出力結果
ページを開くと、2枚の画像と「CLICK HERE」ボタンが表示されます。

「CLICK HERE」ボタンをクリックすると、2つの画像が半透明にブレンドされて1枚の画像としてcanvas上に結合されます。

-
複数のWord文書を1つにマージする方法【校閲・比較機能の使い方】
Microsoft Wordは、ビジネスシーンで文書の作成・編集・保存に広く使われている定番のワープロソフトです。単にファイルを作成できるだけでなく、複数のレビュアーから送られてきた修正版の文書を1つに統合し、フィードバックを効率的に分析・反映できる点も大きなメリットです。 なぜ複数のWord文書を1つにまとめるのか? 文書を編集者やチームメンバーに送り、素早いレビューやフィードバック、改善提案をもらう場面はよくあるでしょう。レビュー後には、多くのレビュアーからの修正や変更が記されたWordファイルが何通も手元に届きます。これらをコピーアンドペーストで手作業的に統合すると、膨大な時間がかかるだ
-
PandasとMatplotlibで複数の時系列DataFrameを1つのグラフにまとめて描画する方法
Pandasを使えば、複数の時系列データフレーム(DataFrame)を1つのプロットにまとめて描画できます。本記事では、ルピーとドルという2つの異なるスケールの時系列データを、左右のY軸を使い分けながら1つのグラフ上に表示する具体的手順を、サンプルコードとともに解説します。 実装の流れ 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整する 時系列データを含むPandasデータフレームを作成する プロット用に日付をインデックスとして設定する 「rupees(ルピー)」と「dollar(ドル)」の2つの系列を同じ図上にプロットする show()メソッドを呼び出して図を表