Advertisement
jargon

JsTicker -- Broken Numeric Conversion

Aug 6th, 2016
395
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         function JsTicker_24bit_from_color(rgb){ // Returns The Unsigned 24bit Integer Representing The Given HTML-Compliant Hexidecimal Color Code
  2.             var i=0;
  3.             var ret=0;
  4.            
  5.             var bpc=0; //depth as bits per channel
  6.            
  7.             switch(rgb.length){
  8.            
  9.             case 0:
  10.                 bpc=0;
  11.                 break;
  12.            
  13.             case 1:
  14.             case 2:
  15.             case 3:
  16.                 bpc=4;
  17.                 break;
  18.            
  19.             case 4:
  20.             case 5:
  21.             case 6:
  22.                 bpc=8;
  23.                 break;
  24.            
  25.             default:
  26.                 bpc=-1;
  27.             }
  28.            
  29.             switch(bpc){
  30.            
  31.             case 4:
  32.                 for(i=2;i>=0;i--)
  33.                     ret=ret<<8+parseInt('0x'+('0'.repeat(3)+rgb).slice(-3).substr(2-i,1).repeat(2));
  34.                 break;
  35.            
  36.             case 8:
  37.                 for(i=2;i>=0;i--)
  38.                     ret=ret<<8+parseInt('0x'+('0'.repeat(6)+rgb).slice(-6).subtr((2-i)<<1,2));
  39.                 break;
  40.            
  41.             default:
  42.             }
  43.  
  44.             return ret;
  45.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement