{"type":"rich","version":"1.0","provider_name":"phorkie","provider_url":"https:\/\/p.cweiske.de\/","title":"rainbow text for google calc \/ sheets","author_name":"Christian Weiske","cache_age":86400,"width":900,"height":900,"html":"<!-- embedding all files of https:\/\/p.cweiske.de\/650 -->\n<link rel=\"stylesheet\" href=\"https:\/\/p.cweiske.de\/css\/embed.css\"\/>\n<div class=\"phork\" id=\"650\">\n    <div class=\"phork-file\">\n <div class=\"phork-content\">\n  <style type=\"text\/css\">\/**\n * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2014 Benny Baumann\n * (http:\/\/qbnz.com\/highlighter\/ and http:\/\/geshi.org\/)\n *\/\n.javascript .de1, .javascript .de2 {font: normal normal 1em\/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}\n.javascript  {font-family:monospace;}\n.javascript .imp {font-weight: bold; color: red;}\n.javascript li, .javascript .li1 {color: #DDD;}\n.javascript .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}\n.javascript .kw1 {color: #000066; font-weight: bold;}\n.javascript .kw2 {color: #003366; font-weight: bold;}\n.javascript .kw3 {color: #000066;}\n.javascript .kw5 {color: #FF0000;}\n.javascript .co1 {color: #006600; font-style: italic;}\n.javascript .co2 {color: #009966; font-style: italic;}\n.javascript .coMULTI {color: #006600; font-style: italic;}\n.javascript .es0 {color: #000099; font-weight: bold;}\n.javascript .br0 {color: #009900;}\n.javascript .sy0 {color: #339933;}\n.javascript .st0 {color: #3366CC;}\n.javascript .nu0 {color: #CC0000;}\n.javascript .me1 {color: #660066;}\n.javascript span.xtra { display:block; }\n<\/style><div class=\"code\"><table class=\"javascript\"><tbody><tr class=\"li1\"><td class=\"ln\"><pre class=\"de1\">1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n38\n39\n40\n41\n42\n43\n44\n45\n46\n47\n48\n49\n50\n51\n52\n53\n54\n55\n56\n57\n58\n59\n60\n61\n62\n63\n64\n65\n66\n67\n68\n69\n70\n71\n72\n73\n74\n75\n76\n77\n78\n79\n80\n81\n82\n83\n84\n85\n86\n87\n88\n89\n90\n91\n92\n93\n94\n95\n96\n97\n98\n99\n100\n101\n102\n103\n104\n105\n106\n107\n108\n109\n110\n111\n112\n113\n114\n115\n116\n117\n118\n119\n120\n121\n122\n123\n124\n125\n126\n127\n128\n129\n130\n131\n132\n133\n134\n135\n136\n137\n138\n139\n140\n141\n142\n143\n144\n145\n146\n<\/pre><\/td><td class=\"de1\"><pre class=\"de1\"><span class=\"coMULTI\">\/**<\/span>\n<span class=\"coMULTI\">&#160;* @OnlyCurrentDoc Limits the script to only accessing the current sheet.<\/span>\n<span class=\"coMULTI\">&#160;*\/<\/span>\n&#160;\n<span class=\"coMULTI\">\/**<\/span>\n<span class=\"coMULTI\">&#160;* A special function that runs when the spreadsheet is open, used to add a<\/span>\n<span class=\"coMULTI\">&#160;* custom menu to the spreadsheet.<\/span>\n<span class=\"coMULTI\">&#160;*\/<\/span>\n<span class=\"kw1\">function<\/span> onOpen<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; SpreadsheetApp.<span class=\"me1\">getUi<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>\n&#160; &#160; .<span class=\"me1\">createAddonMenu<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>\n&#160; &#160; .<span class=\"me1\">addItem<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">'Rainbow color selected cells'<\/span><span class=\"sy0\">,<\/span> <span class=\"st0\">'rainbowTextAllCells'<\/span><span class=\"br0\">&#41;<\/span>\n&#160; &#160; .<span class=\"me1\">addToUi<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n<span class=\"br0\">&#125;<\/span>\n&#160;\n<span class=\"kw1\">function<\/span> onInstall<span class=\"br0\">&#40;<\/span>e<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; onOpen<span class=\"br0\">&#40;<\/span>e<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n<span class=\"br0\">&#125;<\/span>\n&#160;\n<span class=\"coMULTI\">\/**<\/span>\n<span class=\"coMULTI\">&#160;* Color the text in all selected cells in rainbow colors<\/span>\n<span class=\"coMULTI\">&#160;*<\/span>\n<span class=\"coMULTI\">&#160;* @author Christian Weiske &lt;weiske@mogic.com&gt;<\/span>\n<span class=\"coMULTI\">&#160;*\/<\/span>\n<span class=\"kw1\">function<\/span> rainbowTextAllCells<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>\n<span class=\"br0\">&#123;<\/span>\n&#160; <span class=\"kw1\">var<\/span> ranges <span class=\"sy0\">=<\/span> SpreadsheetApp.<span class=\"me1\">getActiveSheet<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">getActiveRangeList<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">getRanges<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; <span class=\"kw1\">var<\/span> alltext <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;&quot;<\/span><span class=\"sy0\">;<\/span>\n&#160; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span><span class=\"kw1\">var<\/span> rangeId <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> rangeId <span class=\"sy0\">&lt;<\/span> ranges.<span class=\"me1\">length<\/span><span class=\"sy0\">;<\/span> rangeId<span class=\"sy0\">++<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; <span class=\"kw1\">var<\/span> richtexts <span class=\"sy0\">=<\/span> ranges<span class=\"br0\">&#91;<\/span>rangeId<span class=\"br0\">&#93;<\/span>.<span class=\"me1\">getRichTextValues<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; \n&#160; &#160; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span><span class=\"kw1\">var<\/span> rangeRow <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> rangeRow <span class=\"sy0\">&lt;<\/span> richtexts.<span class=\"me1\">length<\/span><span class=\"sy0\">;<\/span> rangeRow<span class=\"sy0\">++<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span><span class=\"kw1\">var<\/span> rangeCol <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> rangeCol <span class=\"sy0\">&lt;<\/span> richtexts<span class=\"br0\">&#91;<\/span>rangeRow<span class=\"br0\">&#93;<\/span>.<span class=\"me1\">length<\/span><span class=\"sy0\">;<\/span> rangeCol<span class=\"sy0\">++<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; alltext <span class=\"sy0\">+=<\/span> richtexts<span class=\"br0\">&#91;<\/span>rangeRow<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>rangeCol<span class=\"br0\">&#93;<\/span>.<span class=\"me1\">getText<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; &#160; <span class=\"br0\">&#125;<\/span>\n&#160; &#160; <span class=\"br0\">&#125;<\/span>\n&#160; <span class=\"br0\">&#125;<\/span>\n&#160;\n&#160; <span class=\"kw1\">var<\/span> steplength <span class=\"sy0\">=<\/span> <span class=\"nu0\">360<\/span> <span class=\"sy0\">\/<\/span> alltext.<span class=\"me1\">length<\/span><span class=\"sy0\">;<\/span>\n&#160; <span class=\"kw1\">var<\/span> rainbowPos <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span>\n&#160; \n&#160; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span><span class=\"kw1\">var<\/span> rangeId <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> rangeId <span class=\"sy0\">&lt;<\/span> ranges.<span class=\"me1\">length<\/span><span class=\"sy0\">;<\/span> rangeId<span class=\"sy0\">++<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; <span class=\"kw1\">var<\/span> range <span class=\"sy0\">=<\/span> ranges<span class=\"br0\">&#91;<\/span>rangeId<span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; <span class=\"kw1\">var<\/span> richtexts <span class=\"sy0\">=<\/span> range.<span class=\"me1\">getRichTextValues<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160;\n&#160; &#160; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span><span class=\"kw1\">var<\/span> rangeRow <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> rangeRow <span class=\"sy0\">&lt;<\/span> richtexts.<span class=\"me1\">length<\/span><span class=\"sy0\">;<\/span> rangeRow<span class=\"sy0\">++<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span><span class=\"kw1\">var<\/span> rangeCol <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> rangeCol <span class=\"sy0\">&lt;<\/span> richtexts<span class=\"br0\">&#91;<\/span>rangeRow<span class=\"br0\">&#93;<\/span>.<span class=\"me1\">length<\/span><span class=\"sy0\">;<\/span> rangeCol<span class=\"sy0\">++<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160;\n&#160; &#160; &#160; &#160; <span class=\"kw1\">var<\/span> cellText <span class=\"sy0\">=<\/span> richtexts<span class=\"br0\">&#91;<\/span>rangeRow<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>rangeCol<span class=\"br0\">&#93;<\/span>.<span class=\"me1\">getText<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; &#160; &#160; <span class=\"kw1\">var<\/span> richtext <span class=\"sy0\">=<\/span> SpreadsheetApp.<span class=\"me1\">newRichTextValue<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">setText<\/span><span class=\"br0\">&#40;<\/span>cellText<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; &#160; &#160; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span><span class=\"kw1\">var<\/span> pos <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> pos <span class=\"sy0\">&lt;<\/span> cellText.<span class=\"me1\">length<\/span><span class=\"sy0\">;<\/span> pos<span class=\"sy0\">++<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; &#160; <span class=\"kw1\">var<\/span> color <span class=\"sy0\">=<\/span> hsl2rgb<span class=\"br0\">&#40;<\/span>rainbowPos <span class=\"sy0\">*<\/span> steplength<span class=\"sy0\">,<\/span> <span class=\"nu0\">100<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">50<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; &#160; &#160; &#160; <span class=\"kw1\">var<\/span> colorCode <span class=\"sy0\">=<\/span> <span class=\"st0\">'#'<\/span> <span class=\"sy0\">+<\/span> toHex<span class=\"br0\">&#40;<\/span>color.<span class=\"me1\">r<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> toHex<span class=\"br0\">&#40;<\/span>color.<span class=\"me1\">g<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> toHex<span class=\"br0\">&#40;<\/span>color.<span class=\"me1\">b<\/span><span class=\"br0\">&#41;<\/span>\n&#160; &#160; &#160; &#160; &#160; <span class=\"kw1\">var<\/span> style <span class=\"sy0\">=<\/span> SpreadsheetApp.<span class=\"me1\">newTextStyle<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">setForegroundColor<\/span><span class=\"br0\">&#40;<\/span>colorCode<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; &#160; &#160; &#160; richtext.<span class=\"me1\">setTextStyle<\/span><span class=\"br0\">&#40;<\/span>pos<span class=\"sy0\">,<\/span> pos <span class=\"sy0\">+<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> style.<span class=\"me1\">build<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &#160; &#160; &#160; &#160; &#160;\n&#160; &#160; &#160; &#160; &#160; rainbowPos<span class=\"sy0\">++;<\/span>\n&#160; &#160; &#160; &#160; <span class=\"br0\">&#125;<\/span>\n&#160; &#160; &#160; &#160; range.<span class=\"me1\">getCell<\/span><span class=\"br0\">&#40;<\/span>rangeRow <span class=\"sy0\">+<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> rangeCol <span class=\"sy0\">+<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">setRichTextValue<\/span><span class=\"br0\">&#40;<\/span>richtext.<span class=\"me1\">build<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; &#160; &#160; \n&#160; &#160; &#160; <span class=\"br0\">&#125;<\/span>\n&#160; &#160; <span class=\"br0\">&#125;<\/span>\n&#160; <span class=\"br0\">&#125;<\/span>\n<span class=\"br0\">&#125;<\/span>\n&#160;\n<span class=\"coMULTI\">\/**<\/span>\n<span class=\"coMULTI\">&#160;* Color the text in the currently active cell in rainbow colors<\/span>\n<span class=\"coMULTI\">&#160;*<\/span>\n<span class=\"coMULTI\">&#160;* @author Christian Weiske &lt;weiske@mogic.com&gt;<\/span>\n<span class=\"coMULTI\">&#160;*\/<\/span>\n<span class=\"kw1\">function<\/span> rainbowTextCurrentCell<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160;\n&#160; <span class=\"kw1\">var<\/span> cell <span class=\"sy0\">=<\/span> SpreadsheetApp.<span class=\"me1\">getCurrentCell<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; <span class=\"kw1\">var<\/span> text <span class=\"sy0\">=<\/span> cell.<span class=\"me1\">getRichTextValue<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">getText<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>\n&#160; \n&#160; <span class=\"kw1\">var<\/span> richtext <span class=\"sy0\">=<\/span> SpreadsheetApp.<span class=\"me1\">newRichTextValue<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">setText<\/span><span class=\"br0\">&#40;<\/span>text<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; <span class=\"kw1\">var<\/span> steplength <span class=\"sy0\">=<\/span> <span class=\"nu0\">360<\/span> <span class=\"sy0\">\/<\/span> text.<span class=\"me1\">length<\/span><span class=\"sy0\">;<\/span>\n&#160; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span><span class=\"kw1\">var<\/span> pos <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> pos <span class=\"sy0\">&lt;<\/span> text.<span class=\"me1\">length<\/span><span class=\"sy0\">;<\/span> pos<span class=\"sy0\">++<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; <span class=\"kw1\">var<\/span> color <span class=\"sy0\">=<\/span> hsl2rgb<span class=\"br0\">&#40;<\/span>pos <span class=\"sy0\">*<\/span> steplength<span class=\"sy0\">,<\/span> <span class=\"nu0\">100<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">50<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; <span class=\"kw1\">var<\/span> colorCode <span class=\"sy0\">=<\/span> <span class=\"st0\">'#'<\/span> <span class=\"sy0\">+<\/span> toHex<span class=\"br0\">&#40;<\/span>color.<span class=\"me1\">r<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> toHex<span class=\"br0\">&#40;<\/span>color.<span class=\"me1\">g<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> toHex<span class=\"br0\">&#40;<\/span>color.<span class=\"me1\">b<\/span><span class=\"br0\">&#41;<\/span>\n&#160; &#160; <span class=\"kw1\">var<\/span> style <span class=\"sy0\">=<\/span> SpreadsheetApp.<span class=\"me1\">newTextStyle<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">setForegroundColor<\/span><span class=\"br0\">&#40;<\/span>colorCode<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; richtext.<span class=\"me1\">setTextStyle<\/span><span class=\"br0\">&#40;<\/span>pos<span class=\"sy0\">,<\/span> pos <span class=\"sy0\">+<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> style.<span class=\"me1\">build<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; <span class=\"br0\">&#125;<\/span>\n&#160; cell.<span class=\"me1\">setRichTextValue<\/span><span class=\"br0\">&#40;<\/span>richtext.<span class=\"me1\">build<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n<span class=\"br0\">&#125;<\/span>\n&#160;\n<span class=\"kw1\">function<\/span> toHex<span class=\"br0\">&#40;<\/span>num<span class=\"br0\">&#41;<\/span>\n<span class=\"br0\">&#123;<\/span>\n&#160; <span class=\"kw1\">var<\/span> str <span class=\"sy0\">=<\/span> num.<span class=\"me1\">toString<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">16<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>str.<span class=\"me1\">length<\/span> <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">2<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; str <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;0&quot;<\/span> <span class=\"sy0\">+<\/span> str<span class=\"sy0\">;<\/span>\n&#160; <span class=\"br0\">&#125;<\/span>\n&#160; <span class=\"kw1\">return<\/span> str<span class=\"sy0\">;<\/span>\n<span class=\"br0\">&#125;<\/span>\n&#160;\n<span class=\"co1\">\/\/ http:\/\/hsl2rgb.nichabi.com\/javascript-function.php<\/span>\n<span class=\"kw1\">function<\/span> hsl2rgb <span class=\"br0\">&#40;<\/span>h<span class=\"sy0\">,<\/span> s<span class=\"sy0\">,<\/span> l<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; <span class=\"kw1\">var<\/span> r<span class=\"sy0\">,<\/span> g<span class=\"sy0\">,<\/span> b<span class=\"sy0\">,<\/span> m<span class=\"sy0\">,<\/span> c<span class=\"sy0\">,<\/span> x\n&#160;\n&#160; &#160; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span><span class=\"sy0\">!<\/span>isFinite<span class=\"br0\">&#40;<\/span>h<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> h <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span>\n&#160; &#160; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span><span class=\"sy0\">!<\/span>isFinite<span class=\"br0\">&#40;<\/span>s<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> s <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span>\n&#160; &#160; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span><span class=\"sy0\">!<\/span>isFinite<span class=\"br0\">&#40;<\/span>l<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> l <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span>\n&#160;\n&#160; &#160; h <span class=\"sy0\">\/=<\/span> <span class=\"nu0\">60<\/span>\n&#160; &#160; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>h <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> h <span class=\"sy0\">=<\/span> <span class=\"nu0\">6<\/span> <span class=\"sy0\">-<\/span> <span class=\"br0\">&#40;<\/span><span class=\"sy0\">-<\/span>h <span class=\"sy0\">%<\/span> <span class=\"nu0\">6<\/span><span class=\"br0\">&#41;<\/span>\n&#160; &#160; h <span class=\"sy0\">%=<\/span> <span class=\"nu0\">6<\/span>\n&#160;\n&#160; &#160; s <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">min<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> s <span class=\"sy0\">\/<\/span> <span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span>\n&#160; &#160; l <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">min<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> l <span class=\"sy0\">\/<\/span> <span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span>\n&#160;\n&#160; &#160; c <span class=\"sy0\">=<\/span> <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span> <span class=\"sy0\">-<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">abs<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">2<\/span> <span class=\"sy0\">*<\/span> l<span class=\"br0\">&#41;<\/span> <span class=\"sy0\">-<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">*<\/span> s\n&#160; &#160; x <span class=\"sy0\">=<\/span> c <span class=\"sy0\">*<\/span> <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span> <span class=\"sy0\">-<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">abs<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span>h <span class=\"sy0\">%<\/span> <span class=\"nu0\">2<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">-<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span>\n&#160;\n&#160; &#160; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>h <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; r <span class=\"sy0\">=<\/span> c\n&#160; &#160; &#160; &#160; g <span class=\"sy0\">=<\/span> x\n&#160; &#160; &#160; &#160; b <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span>\n&#160; &#160; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>h <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">2<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; r <span class=\"sy0\">=<\/span> x\n&#160; &#160; &#160; &#160; g <span class=\"sy0\">=<\/span> c\n&#160; &#160; &#160; &#160; b <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span>\n&#160; &#160; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>h <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">3<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; r <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span>\n&#160; &#160; &#160; &#160; g <span class=\"sy0\">=<\/span> c\n&#160; &#160; &#160; &#160; b <span class=\"sy0\">=<\/span> x\n&#160; &#160; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>h <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; r <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span>\n&#160; &#160; &#160; &#160; g <span class=\"sy0\">=<\/span> x\n&#160; &#160; &#160; &#160; b <span class=\"sy0\">=<\/span> c\n&#160; &#160; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>h <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">5<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; r <span class=\"sy0\">=<\/span> x\n&#160; &#160; &#160; &#160; g <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span>\n&#160; &#160; &#160; &#160; b <span class=\"sy0\">=<\/span> c\n&#160; &#160; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; r <span class=\"sy0\">=<\/span> c\n&#160; &#160; &#160; &#160; g <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span>\n&#160; &#160; &#160; &#160; b <span class=\"sy0\">=<\/span> x\n&#160; &#160; <span class=\"br0\">&#125;<\/span>\n&#160;\n&#160; &#160; m <span class=\"sy0\">=<\/span> l <span class=\"sy0\">-<\/span> c <span class=\"sy0\">\/<\/span> <span class=\"nu0\">2<\/span>\n&#160; &#160; r <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span>r <span class=\"sy0\">+<\/span> m<span class=\"br0\">&#41;<\/span> <span class=\"sy0\">*<\/span> <span class=\"nu0\">255<\/span><span class=\"br0\">&#41;<\/span>\n&#160; &#160; g <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span>g <span class=\"sy0\">+<\/span> m<span class=\"br0\">&#41;<\/span> <span class=\"sy0\">*<\/span> <span class=\"nu0\">255<\/span><span class=\"br0\">&#41;<\/span>\n&#160; &#160; b <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span>b <span class=\"sy0\">+<\/span> m<span class=\"br0\">&#41;<\/span> <span class=\"sy0\">*<\/span> <span class=\"nu0\">255<\/span><span class=\"br0\">&#41;<\/span>\n&#160;\n&#160; &#160; <span class=\"kw1\">return<\/span> <span class=\"br0\">&#123;<\/span> r<span class=\"sy0\">:<\/span> r<span class=\"sy0\">,<\/span> g<span class=\"sy0\">:<\/span> g<span class=\"sy0\">,<\/span> b<span class=\"sy0\">:<\/span> b <span class=\"br0\">&#125;<\/span>\n<span class=\"br0\">&#125;<\/span>\n&#160;<\/pre><\/td><\/tr><\/tbody><\/table><\/div>\n <\/div>\n <div class=\"phork-meta\">\n  <a href=\"https:\/\/p.cweiske.de\/650\/rev-raw\/4ed16ccb6d312617793a56d23cd82fc5a0ec7cb8\/code.js\" style=\"float: right\">view raw source<\/a>\n  <a href=\"https:\/\/p.cweiske.de\/650#code.js\">code.js<\/a>\n <\/div>\n<\/div>\n<\/div>\n"}
