Color to HSL value
<!--
MochiKit is dual-licensed software. It is available under the terms of the
MIT License, or the Academic Free License version 2.1. The full text of
each license is included below.
-->
<!-- Code revised from MochiKit demo code -->
<html>
<head>
<script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Base.js"></script>
<script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Iter.js"></script>
<script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/DOM.js"></script>
<script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Style.js"></script>
<script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Logging.js"></script>
<script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Color.js"></script>
</head>
<body>
<div style="position:absolute; top: 0px; left:0px; width:0px; height:0px">
<span style="color: red" id="c_direct"></span>
<span class="redtext" id="c_indirect"></span>
</div>
<pre id="test">
<script type="text/javascript">
var approx = function (a, b, msg) {
return alert(msg+":"+(a.toPrecision(4) == b.toPrecision(4)));
};
var hsl = Color.redColor().asHSL();
approx( hsl.h, 0.0, "red hsl.h" );
approx( hsl.s, 1.0, "red hsl.s" );
approx( hsl.l, 0.5, "red hsl.l" );
hsl = Color.fromRGB(0, 0, 0.5).asHSL();
approx( hsl.h, 2/3, "darkblue hsl.h" );
approx( hsl.s, 1.0, "darkblue hsl.s" );
approx( hsl.l, 0.25, "darkblue hsl.l" );
hsl = Color.fromString("#4169E1").asHSL();
approx( hsl.h, (5/8), "4169e1 h");
approx( hsl.s, (8/11), "4169e1 s");
approx( hsl.l, (29/51), "4169e1 l");
hsl = Color.fromString("#555544").asHSL();
approx( hsl.h, (1/6), "555544 h" );
approx( hsl.s, (1/9), "555544 s" );
approx( hsl.l, (3/10), "555544 l" );
hsl = Color.fromRGB(0.5, 1, 0.5).asHSL();
approx( hsl.h, 1/3, "aqua hsl.h" );
approx( hsl.s, 1.0, "aqua hsl.s" );
approx( hsl.l, 0.75, "aqua hsl.l" );
</script>
</pre>
</body>
</html>
Related examples in the same category