RGBをHSLに変換する方法
JavaScriptを使って、カラーコードのRGBをHSLに変換します。
サンプルコード
0〜255のRGB値を指定して、H(0〜360)、S(0-1)、L(0-1)の値を取得します。
JavaScript
function rgb2hsl ( rgb ) {
var r = rgb[0] / 255 ;
var g = rgb[1] / 255 ;
var b = rgb[2] / 255 ;
var max = Math.max( r, g, b ) ;
var min = Math.min( r, g, b ) ;
var diff = max - min ;
var h = 0 ;
var l = (max + min) / 2 ;
var s = diff / ( 1 - ( Math.abs( max + min - 1 ) ) ) ;
switch( min ) {
case max :
h = 0 ;
break ;
case r :
h = (60 * ((b - g) / diff)) + 180 ;
break ;
case g :
h = (60 * ((r - b) / diff)) + 300 ;
break ;
case b :
h = (60 * ((g - r) / diff)) + 60 ;
break ;
}
return [ h, s, l ] ;
}
rgb2hsl( [ 255, 128, 64 ] ) ; // [ 20.104, 1, 0.625 ]
デモ
好きなRGB値を指定して、HSL値を確認してみて下さい。
function rgb2hsv ( rgb ) {
var r = rgb[0] / 255 ;
var g = rgb[1] / 255 ;
var b = rgb[2] / 255 ;
var max = Math.max( r, g, b ) ;
var min = Math.min( r, g, b ) ;
var diff = max - min ;
var h = 0 ;
switch( min ) {
case max :
h = 0 ;
break ;
case r :
h = (60 * ((b - g) / diff)) + 180 ;
break ;
case g :
h = (60 * ((r - b) / diff)) + 300 ;
break ;
case b :
h = (60 * ((g - r) / diff)) + 60 ;
break ;
}
var s = max == 0 ? 0 : diff / max ;
var v = max ;
return [ h, s, v ] ;
}
var a = rgb2hsv( [ 255, 128, 64 ] ) ;
a =
関連記事
- RGBをHSVに変換する方法
- カラーコードをRGBからHSVに変換します。
- RGBをCMYに変換する方法
- カラーコードをRGBからCMYに変換します。
- RGBをHEXに変換する方法
- カラーコードをRGBからHEXに変換します。
- HSLをRGBに変換する方法
- カラーコードをHSLからRGBに変換します。
- HEXをRGBに変換する方法
- カラーコードをHEXからRGBに変換します。