|
Struts example source code file (hsl.js)
The Struts hsl.js source code/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.provide("dojo.gfx.color.hsl"); dojo.require("dojo.lang.array"); dojo.lang.extend(dojo.gfx.color.Color, {toHsl:function () { return dojo.gfx.color.rgb2hsl(this.toRgb()); }}); dojo.gfx.color.rgb2hsl = function (r, g, b) { if (dojo.lang.isArray(r)) { b = r[2] || 0; g = r[1] || 0; r = r[0] || 0; } r /= 255; g /= 255; b /= 255; var h = null; var s = null; var l = null; var min = Math.min(r, g, b); var max = Math.max(r, g, b); var delta = max - min; l = (min + max) / 2; s = 0; if ((l > 0) && (l < 1)) { s = delta / ((l < 0.5) ? (2 * l) : (2 - 2 * l)); } h = 0; if (delta > 0) { if ((max == r) && (max != g)) { h += (g - b) / delta; } if ((max == g) && (max != b)) { h += (2 + (b - r) / delta); } if ((max == b) && (max != r)) { h += (4 + (r - g) / delta); } h *= 60; } h = (h == 0) ? 360 : Math.ceil((h / 360) * 255); s = Math.ceil(s * 255); l = Math.ceil(l * 255); return [h, s, l]; }; dojo.gfx.color.hsl2rgb = function (h, s, l) { if (dojo.lang.isArray(h)) { l = h[2] || 0; s = h[1] || 0; h = h[0] || 0; } h = (h / 255) * 360; if (h == 360) { h = 0; } s = s / 255; l = l / 255; while (h < 0) { h += 360; } while (h > 360) { h -= 360; } var r, g, b; if (h < 120) { r = (120 - h) / 60; g = h / 60; b = 0; } else { if (h < 240) { r = 0; g = (240 - h) / 60; b = (h - 120) / 60; } else { r = (h - 240) / 60; g = 0; b = (360 - h) / 60; } } r = Math.min(r, 1); g = Math.min(g, 1); b = Math.min(b, 1); r = 2 * s * r + (1 - s); g = 2 * s * g + (1 - s); b = 2 * s * b + (1 - s); if (l < 0.5) { r = l * r; g = l * g; b = l * b; } else { r = (1 - l) * r + 2 * l - 1; g = (1 - l) * g + 2 * l - 1; b = (1 - l) * b + 2 * l - 1; } r = Math.ceil(r * 255); g = Math.ceil(g * 255); b = Math.ceil(b * 255); return [r, g, b]; }; dojo.gfx.color.hsl2hex = function (h, s, l) { var rgb = dojo.gfx.color.hsl2rgb(h, s, l); return dojo.gfx.color.rgb2hex(rgb[0], rgb[1], rgb[2]); }; dojo.gfx.color.hex2hsl = function (hex) { var rgb = dojo.gfx.color.hex2rgb(hex); return dojo.gfx.color.rgb2hsl(rgb[0], rgb[1], rgb[2]); }; Other Struts examples (source code examples)Here is a short list of links related to this Struts hsl.js source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.