RGBカラーシミュレータ RGB color simulator for JavaScript

スポンサーリンク
 
  • 1136月別訪問者数:

JavaScriptの練習がてら
RGBカラーシミュレータを作ってみた

RGBカラーシミュレータ

コードはこんな感じです。素人ちっくでごめんなさい。。

<!DOCTYPE html>
<html>
    <head>
			<meta charset="UTF-8">
			<title>RGBカラーシミュレータ</title>

    </head>
    <body>
        <H1>RGBカラーシミュレータ</H1>

		<p>WEB上のRGBカラーとはR(アカ)、G(ミドリ)、B(アオ)の3つの色からなりたってます。</p>
		<p>それぞれの色は0〜255までの256段階あり、0が真っ暗で255がその色の原色となります。</p>
		<p>そしてその3つの色のかけあわせにより色を表現しています。</p>
		<p>RGBカラーは光のかけあわせなので混ぜると明るくなります。</p>
		<p>R、G、Bすべて0で黒、R、G、Bすべて255で白になります。</p></br>
		<p>ここではそれぞれの色の数字をそれぞれ入力して決定ボタンをクリックすることで</p>
		<p>かけあわせた色のシミュレーションができます</p></br>
		<p>どんなかけあわせでどんな色になるか色々試してみてくださいね!</p></br>
		<p>R(アカ ):<input type="text" id="text1">0〜255までの数字を半角で入れてください</p>
		<p>G(ミドリ):<input type="text" id="text2">0〜255までの数字を半角で入れてください</p>
		<p>B(アオ ):<input type="text" id="text3">0〜255までの数字を半角で入れてください</p>
		<p><input type="button" onclick="doAction();" value="決定"></p></br>
		<p>R[<span id="r10" >000</span>]の16進数は[<span id="r16" >000</span>]で色は<span id="rco" >  </span>です</p>
		<p>G[<span id="g10" >000</span>]の16進数は[<span id="g16" >000</span>]で色は<span id="gco" >  </span>です</p>
		<p>B[<span id="b10" >000</span>]の16進数は[<span id="b16" >000</span>]で色は<span id="bco" >  </span>です</p></br>
		<p>三つの要素を混ぜると色は
		 <div id="target" ></div>
		 <p>になります。</p>
		 </br></br>
		<p>HTML上の色指示の表記は[”#”]+[Rの16進数]+[Gの16進数]+[Bの16進数] </p>
		<p>という文字列なので<span id="iro" >#000000</span>となります。</p>

		<script type="text/javascript">
        <!--

            var target = document.getElementById("target");
            target.style.background = "#000000";
            target.style.width = "100px";
            target.style.height = "50px";

		function doAction(){
            var text1 = document.getElementById("text1");
			var text2 = document.getElementById("text2");
			var text3 = document.getElementById("text3");
            var target = document.getElementById("target");
			var iro = document.getElementById("iro");

			var r10= document.getElementById("r10")
			var r16= document.getElementById("r16")
			var rco= document.getElementById("rco")
			r10.innerHTML=text1.value

			var g10= document.getElementById("g10")
			var g16= document.getElementById("g16")
			var gco= document.getElementById("gco")
			g10.innerHTML=text2.value

			var b10= document.getElementById("b10")
			var b16= document.getElementById("b16")
			var bco= document.getElementById("bco")
			b10.innerHTML=text3.value

			var r_youso= parseInt(text1.value)
			var g_youso= parseInt(text2.value)
			var b_youso= parseInt(text3.value)

			r_youso = "0"+r_youso.toString(16);
			g_youso = "0"+g_youso.toString(16);
			b_youso = "0"+b_youso.toString(16);

			r_youso = r_youso.substr(r_youso.length-2,2)
			g_youso = g_youso.substr(g_youso.length-2,2)
			b_youso = b_youso.substr(b_youso.length-2,2)
			r16.innerHTML=r_youso
			g16.innerHTML=g_youso
			b16.innerHTML=b_youso
			rco.style.background = "#"+r_youso+"0000";
			gco.style.background = "#00"+g_youso+"00";
			bco.style.background = "#0000"+b_youso
			iro.innerHTML= "#"+r_youso+g_youso+b_youso
            target.style.background = "#"+r_youso+g_youso+b_youso

        }
        //-->
        </script>

    </body>
</html>

コメント