@@ -1557,6 +1557,39 @@ function solveLeastSquares(
1557
1557
return successFlag ;
1558
1558
}
1559
1559
1560
+ function hex2float ( hexStr , outFloatArray = [ 0 , 0.5 , 1 ] ) {
1561
+ switch ( hexStr . length ) {
1562
+ case 3 : // abc => #aabbcc
1563
+ outFloatArray [ 0 ] = parseInt ( hexStr [ 0 ] , 16 ) * 17 / 255 ;
1564
+ outFloatArray [ 1 ] = parseInt ( hexStr [ 1 ] , 16 ) * 17 / 255 ;
1565
+ outFloatArray [ 2 ] = parseInt ( hexStr [ 2 ] , 16 ) * 17 / 255 ;
1566
+ return outFloatArray ;
1567
+ case 4 : // #abc => #aabbcc
1568
+ outFloatArray [ 0 ] = parseInt ( hexStr [ 1 ] , 16 ) * 17 / 255 ;
1569
+ outFloatArray [ 1 ] = parseInt ( hexStr [ 2 ] , 16 ) * 17 / 255 ;
1570
+ outFloatArray [ 2 ] = parseInt ( hexStr [ 3 ] , 16 ) * 17 / 255 ;
1571
+ return outFloatArray ;
1572
+ case 6 : // ab01df => #ab01df
1573
+ outFloatArray [ 0 ] = parseInt ( hexStr . substr ( 0 , 2 ) , 16 ) / 255 ;
1574
+ outFloatArray [ 1 ] = parseInt ( hexStr . substr ( 2 , 2 ) , 16 ) / 255 ;
1575
+ outFloatArray [ 2 ] = parseInt ( hexStr . substr ( 4 , 2 ) , 16 ) / 255 ;
1576
+ return outFloatArray ;
1577
+ case 7 : // #ab01df
1578
+ outFloatArray [ 0 ] = parseInt ( hexStr . substr ( 1 , 2 ) , 16 ) / 255 ;
1579
+ outFloatArray [ 1 ] = parseInt ( hexStr . substr ( 3 , 2 ) , 16 ) / 255 ;
1580
+ outFloatArray [ 2 ] = parseInt ( hexStr . substr ( 5 , 2 ) , 16 ) / 255 ;
1581
+ return outFloatArray ;
1582
+ case 9 : // #ab01df00
1583
+ outFloatArray [ 0 ] = parseInt ( hexStr . substr ( 1 , 2 ) , 16 ) / 255 ;
1584
+ outFloatArray [ 1 ] = parseInt ( hexStr . substr ( 3 , 2 ) , 16 ) / 255 ;
1585
+ outFloatArray [ 2 ] = parseInt ( hexStr . substr ( 5 , 2 ) , 16 ) / 255 ;
1586
+ outFloatArray [ 3 ] = parseInt ( hexStr . substr ( 7 , 2 ) , 16 ) / 255 ;
1587
+ return outFloatArray ;
1588
+ default :
1589
+ return outFloatArray ;
1590
+ }
1591
+ }
1592
+
1560
1593
function rgb2hsv ( rgb , hsv ) {
1561
1594
let h ;
1562
1595
let s ;
@@ -2017,6 +2050,7 @@ export default {
2017
2050
jacobiN,
2018
2051
solveHomogeneousLeastSquares,
2019
2052
solveLeastSquares,
2053
+ hex2float,
2020
2054
rgb2hsv,
2021
2055
hsv2rgb,
2022
2056
lab2xyz,
0 commit comments