<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Color Macthing Formula App</title>
<script src="jquery.3.3.1.js"></script>
<link rel="stylesheet" href="bootstrap.css">
<script src="bootstrap.js"></script>
<script src="utils2.js"></script>
<script type='text/javascript' src='w3color.js'></script>
<link rel="stylesheet" href="fonts.css" type="text/css" media="screen">
<style>
body{
margin: 0px;
font-family: HelveticaInseratCyrUprightRg;
overflow: auto;
}
.noselect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/*table {
border-collapse: collapse;
border: 1px none black;
}
td{
min-width: 25px;
}*/
.slidecontainer {
width: 100%;
}
.slider {
-webkit-appearance: none;
width: 100%;
height: 25px;
background: #d3d3d3;
outline: none;
opacity: 0.7;
-webkit-transition: .2s;
transition: opacity .2s;
}
.slider:hover {
opacity: 1;
}
.slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 25px;
height: 25px;
background: #4CAF50;
cursor: pointer;
}
.slider::-moz-range-thumb {
width: 25px;
height: 25px;
background: #4CAF50;
cursor: pointer;
}
</style>
<script>
function findPos(obj) {
var curleft = 0, curtop = 0;
if (obj.offsetParent) {
do {
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
return { x: curleft, y: curtop };
}
return undefined;
}
function rgbToHex(r, g, b) {
if (r > 255 || g > 255 || b > 255)
throw "Invalid color component";
return ((r << 16) | (g << 8) | b).toString(16);
}
function rgb2hex(red, green, blue) {
var rgb = blue | (green << 8) | (red << 16);
return '#' + (0x1000000 + rgb).toString(16).slice(1)
}
</script>
<script type="text/javascript">
var cl=console.log;
function elid(id) {
return document.getElementById(id);
}
function elsid(id) {
return document.getElementById(id).style;
}
var gl;
function mixc(c1,c2) {
var base = c1;//[140, 112, 97, 0.7];
var added = c2;//[164,135,119,0.8];
var mix = [0,0,0,0];
mix[3] = 1 - (1 - added[3]) * (1 - base[3]);
mix[0] = Math.round((added[0] * added[3] / mix[3]) + (base[0] * base[3] * (1 - added[3]) / mix[3])); // red
mix[1] = Math.round((added[1] * added[3] / mix[3]) + (base[1] * base[3] * (1 - added[3]) / mix[3])); // green
mix[2] = Math.round((added[2] * added[3] / mix[3]) + (base[2] * base[3] * (1 - added[3]) / mix[3])); // blue
return mix;
}
var changeColLoc,newColLoc,changeCol=[0,0,0,1],thresh=0.2,threshLoc;
function init() {
}
var amoR=0,amoG=0,amoB=0,amoY=0,amoC=0,amoM=0,amoW=0,amoBL=0,amoOr=0,amoLi=0,amoMi=0,amoRo=0,amoAz=0,amoVi=0;
var pickCol=function(e) {
if (!mDown) {
return ;
}
var pos = findPos(elid("i"));
var x = e.pageX - 250;
var y = e.pageY - 380;
var coord = "x=" + x + ", y=" + y;
var c = elid("i").getContext('2d');
var p = c.getImageData(x, y, 1, 1).data;
var hex = "#" + ("000000" + rgbToHex(p[0], p[1], p[2])).slice(-6);
changeCol[0]=p[0]/255;
changeCol[1]=p[1]/255;
changeCol[2]=p[2]/255;
//convertToCWB(p[0]/255,p[1]/255,p[2]/255,true);
convertCWBFunc(p[0]/255,p[1]/255,p[2]/255,true);
}
var convertCWBFunc=convertToCWB6;
function setCol(e,cid) {
var aaid=e.target.id.substring(1);
//cl('setCol',e.target.value);
editing=true;
editingSlider=true;
editingStartVal=Number(elid(aaid).innerHTML);
editingWhat={id:aaid};
cl(Number(e.target.value),editingStartVal);
enterVal(Number(e.target.value)-editingStartVal);
elid(aaid).innerHTML=Number(elid(aaid).innerHTML)+(Number(e.target.value)-editingStartVal);
editing=false;
editingSlider=false;
}
var editing=false,editingWhat,editingStartVal=0,editingSlider=false;
function clickTD(e) {
//cl(e,e.target);
if (editing) {
return ;
}
editing=true;
//cl(e.target.innerHTML);
editingStartVal=Number(e.target.innerHTML);
elid('inp').value=editingStartVal;
e.target.innerHTML="";
editingWhat=e.target;
setTimeout(function(){
e.target.appendChild(elid('inp'));
elsid('inp').display="block";
},1);
}
function gco(cid,oth){
if (!oth) {
if (ccs[0].c==cid) {
return ccs[0];
}
if(ccs.length>1)if (ccs[1].c==cid) {
return ccs[1];
}
}else{
if (ccs[0].c!=cid) {
return ccs[0];
}
if(ccs.length>1)if (ccs[1].c!=cid) {
return ccs[1];
}
}
return false;
}
$(document).ready(function(){
fromInput();
});
function fromInput(e) {
//alert(elid("rawCol").value);
//var color = w3color(elid("rawCol").value).toRgb();
//cl(color.toRgb());
//cl(color);
//changeCol[0]=color.r/255;
//changeCol[1]=color.g/255;
//changeCol[2]=color.b/255;
if (Number(elid('rawR').value)>255)elid('rawR').value=255;
if (Number(elid('rawR').value)<0)elid('rawR').value=0;
if (Number(elid('rawG').value)>255)elid('rawG').value=255;
if (Number(elid('rawG').value)<0)elid('rawG').value=0;
if (Number(elid('rawB').value)>255)elid('rawB').value=255;
if (Number(elid('rawB').value)<0)elid('rawB').value=0;
convertCWBFunc(Number(elid('rawR').value),Number(elid('rawG').value),Number(elid('rawB').value),true);
}
</script>
<style>
tr{
margin: 4px;
}
</style>
</head>
<body onload="init();" class="noselect">
<img src="logo.png" style="position: absolute;left: 136px;">
<div style="position: absolute;text-align: center;width: 250px;font-size: 20px;height: 60px;top: 100px;">Color Matching<br/>Formula App</div>
<div style="position: absolute;top: 160px; font-weight:normal;width: 250px;">
<canvas id="cpr" style="border: none;width: 238px;height: 130px;margin-left:6px;" width="250" height="130"></canvas><br>
<div style="margin-top: 4px;text-align: center;font-size: 16px;">
Please enter the RGB color<br>
values of the color you want<br>
to match. Then click the<br>
generate CWB formula button
</div><br>
<table style="width: 250px;">
<tr>
<td style="text-align: center;">Red<br><input id="rawR" type="text" value="0" style="width: 70px;text-align: center;" /></td>
<td style="text-align: center;">Green<br><input id="rawG" type="text" value="0" style="width: 70px;text-align: center;" /></td>
<td style="text-align: center;">Blue<br><input id="rawB" type="text" value="0" style="width: 70px;text-align: center;" /></td>
</tr>
</table>
<br>
<div style="margin-top: 0px;text-align: center;font-size: 16px;">
Wieght to be mixed<br>
in ounces<br><input id="weight" type="text" value="1200" style="width: 125px;text-align: center;" /><br>
<button type="button" class="btn btn-success" onclick="fromInput(event)" style="margin-top: 8px;">Generate the CWB formula
</button>
</div>
</div>
<div style="position: absolute;text-align: center;width: 250px;font-size: 20px;height: 60px;top: 100px;left: 240px;">The CWB Color<br>
matching formula is
</div>
<div id="info" style="position: absolute;top: 160px;left: 270px;">
<div id="componentsr">
<table id="components" style="font-size: 18px;">
</table>
<br>
</div>
<input id="rawCol" type="text" value="rgb(34,156,100)"style="display: none;" />
<input style="display: none;width: 35px;" id="inp" type="text" >
</div>
</body>
</html>