わびさびサンプルソース

WindowsやHTML5などのプログラムのサンプルコードやフリーソフトを提供します。

画像の透過

HTML5のキャンバスを使って画像の透過を行います。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
<title>画像の透過</title>
<script type="text/javascript">

	// キャンバス
	var canvas;

	// イメージ
	var img = null;

	// 透過率
	var alpha = 0.1;


	/*
		画像の描画
	*/
	function DrawImage() {

		// コンテキストの取得
		var ctx = canvas.getContext( '2d' );

		// 透過度の設定(透過無し)
		ctx.globalAlpha = 1;

		// キャンバスのクリア
		ctx.fillStyle = '#FFFFFF';
		ctx.fillRect( 0, 0, canvas.width, canvas.height );

		// 透過度の設定(0~1の範囲で指定する)
		ctx.globalAlpha = alpha;

		// 画像の描画
		var posX = ( canvas.width  - img.width  ) / 2;
		var posY = ( canvas.height - img.height ) / 2;
		ctx.drawImage( img, posX, posY );
	}


	/*
		ページロード完了
	*/
	function OnLoad() {

		// キャンバス取得
		canvas = document.getElementById("canvas");

		// イメージ
		img = new Image();
		img.onload = function () {

			// 画像の描画
			DrawImage();

			// マウスイベントを受け取る
			canvas.addEventListener(
				  "mousedown"
				, function (e) {

					// 透過率の変更
					alpha += 0.1;
					if (1.0 < alpha) {
						alpha = 0.1;
					}

					// 画像の描画
					DrawImage();
				});
		};
		img.src = "./img/hidekiti.png";
	}
</script>
</head>
<body bgcolor="#c0c0ff" onload="OnLoad()">
	<h1>画像の透過</h1>
	<canvas width="300" height="240" id="canvas" style="background-color:black;"></canvas>
	<br />
	クリックすると画像の透過度が変わります。
	<br />
	<a href="../html5_list.html">戻る</a>
</body>
</html>






わびさびサンプルソース

WindowsやHTML5などのプログラムのサンプルコードやフリーソフトを提供します。