File: C:/xampp/htdocs/FograCT1/pbnCT3sapi.php
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Spot/Plate Check</title>
<style type="text/css">
<!--
body {
font: 100% Verdana, Arial, Helvetica, sans-serif;
background: #ffffff;
margin: 0; /* 比較好的做法是將 Body 元素的邊界與欄位間隔調整為零,以處理不同的瀏覽器預設值 */
padding: 0;
text-align: center; /* 這樣會讓容器在 IE 5* 瀏覽器內置中對齊。然後,文字會在 #container 選取器中設定為靠左對齊預設值 */
color: #000000;
}
.oneColElsCtr #container {
width: 46em;
background: #FFFFFF;
margin: 0 auto; /* 自動邊界 (搭配寬度) 會讓頁面置中對齊 */
border: 0px solid #000000;
text-align: left; /* 這樣做會覆寫 Body 元素上的 text-align: center。 */
}
.oneColElsCtr #mainContent {
padding: 0 20px; /* 請記住,欄位間隔就是 Div 方塊內部的空間,而邊界就是 Div 方塊外部的空間 */
}
-->
</style></head>
<body class="oneColElsCtr">
<?php
error_reporting(0);
//$color= $_POST['color'];
$f123= $_GET['f123'];
$f321= $_GET['f321'];
$color= $_GET['color'];
$company= $_GET['company'];
function get_betweenC ($text, $s1, $s2) {
$mid_url = "";
$pos_s = strrpos($text,$s1);
$pos_e = strpos($text,$s2);
for ( $i=$pos_s+strlen($s1) ; (( $i<($pos_e)) && $i < strlen($text)) ; $i++ ) {
$mid_url .= $text[$i];
}
return $mid_url;
}
include 'sp38XYZ.php';
include 'spXYZ.php';
include 'lab2xyz.php';
//include 'SCCA51.php';
include 'xyz2lab01.php';
include 'xyz2lab.php';
//include 'DensityV38.php';
include 'DensityV.php';
include 'Density395.php';
include 'vXYZ.php';
$sum=260;
$check=1;
$dtime=time();
$dStr=substr($dtime,6,9)."-";
function RGBToHex($r, $g, $b) {
//String padding bug found and the solution put forth by Pete Williams (http://snipplr.com/users/PeteW)
$hex = "#";
$hex.= str_pad(dechex($r), 2, "0", STR_PAD_LEFT);
$hex.= str_pad(dechex($g), 2, "0", STR_PAD_LEFT);
$hex.= str_pad(dechex($b), 2, "0", STR_PAD_LEFT);
return $hex;
}
function adj($C) {
if (Abs($C) < 0.0031308) {
return 12.92 * $C;
}
return 1.055 * Math.pow($C, 0.41666) - 0.055;
}
echo "Spot/Plate Checking form! " . $color. "<br />";
$contents = file($f321);
$filedb=substr($f321,7,60);
$dbstr=explode("_", $filedb);
echo $dbstr[0]."XX".$dbstr[1]."XX".$dbstr[2]."XX".$dbstr[3].$dbstr[4].$dbstr[5];
$filename=$filedb;
$po=$dbstr[1];
$stringC = implode($contents);
//////////////////////////////////////////////////////////// i1 profiler go 437
function get_between ($text, $s1, $s2) {
$mid_url = "";
$pos_s = strrpos($text,$s1);
$pos_e = strrpos($text,$s2);
for ( $i=$pos_s+strlen($s1) ; (( $i<($pos_e)) && $i < strlen($text)) ; $i++ ) {
$mid_url .= $text[$i];
}
return $mid_url;
}
$string = implode($contents);
$datastring=get_between($string,"BEGIN_DATA","END_DATA");
$dot = explode("_", $datastring);////Measure upload
?>
<p><p>
<table width="200" border="1" align="center">
<tr>
<td><div align="center">主色</div></td>
<td><font color="#aaaaaa">%</td>
</tr>
<?php
//////////////////////////////////////////////////Fogra Media Check
$psum=20;
// $pl=95; $pa=-0.01;$pb=-2;
?>
<?php
$cols=46;
$idx=10;
$changebit=0;
if ($dot[133]<>'') { ////////////Spot 3 or spot 1
$Pdot=0;
$PXm=sp38XYZ("X",$dot[$idx+$cols*$Pdot],$dot[$idx+$cols*$Pdot+1],$dot[$idx+$cols*$Pdot+2],$dot[$idx+$cols*$Pdot+3],$dot[$idx+$cols*$Pdot+4],$dot[$idx+$cols*$Pdot+5],$dot[$idx+$cols*$Pdot+6],$dot[$idx+$cols*$Pdot+7],$dot[$idx+$cols*$Pdot+8],$dot[$idx+$cols*$Pdot+9],$dot[$idx+$cols*$Pdot+10],$dot[$idx+$cols*$Pdot+11],$dot[$idx+$cols*$Pdot+12],$dot[$idx+$cols*$Pdot+13],$dot[$idx+$cols*$Pdot+14],$dot[$idx+$cols*$Pdot+15],$dot[$idx+$cols*$Pdot+16],$dot[$idx+$cols*$Pdot+17],$dot[$idx+$cols*$Pdot+18],$dot[$idx+$cols*$Pdot+19],$dot[$idx+$cols*$Pdot+20],$dot[$idx+$cols*$Pdot+21],$dot[$idx+$cols*$Pdot+22],$dot[$idx+$cols*$Pdot+23],$dot[$idx+$cols*$Pdot+24],$dot[$idx+$cols*$Pdot+25],$dot[$idx+$cols*$Pdot+26],$dot[$idx+$cols*$Pdot+27],$dot[$idx+$cols*$Pdot+28],$dot[$idx+$cols*$Pdot+29],$dot[$idx+$cols*$Pdot+30],$dot[$idx+$cols*$Pdot+31],$dot[$idx+$cols*$Pdot+32],$dot[$idx+$cols*$Pdot+33],$dot[$idx+$cols*$Pdot+34],$dot[$idx+$cols*$Pdot+35]);
$PYm=sp38XYZ("Y",$dot[$idx+$cols*$Pdot],$dot[$idx+$cols*$Pdot+1],$dot[$idx+$cols*$Pdot+2],$dot[$idx+$cols*$Pdot+3],$dot[$idx+$cols*$Pdot+4],$dot[$idx+$cols*$Pdot+5],$dot[$idx+$cols*$Pdot+6],$dot[$idx+$cols*$Pdot+7],$dot[$idx+$cols*$Pdot+8],$dot[$idx+$cols*$Pdot+9],$dot[$idx+$cols*$Pdot+10],$dot[$idx+$cols*$Pdot+11],$dot[$idx+$cols*$Pdot+12],$dot[$idx+$cols*$Pdot+13],$dot[$idx+$cols*$Pdot+14],$dot[$idx+$cols*$Pdot+15],$dot[$idx+$cols*$Pdot+16],$dot[$idx+$cols*$Pdot+17],$dot[$idx+$cols*$Pdot+18],$dot[$idx+$cols*$Pdot+19],$dot[$idx+$cols*$Pdot+20],$dot[$idx+$cols*$Pdot+21],$dot[$idx+$cols*$Pdot+22],$dot[$idx+$cols*$Pdot+23],$dot[$idx+$cols*$Pdot+24],$dot[$idx+$cols*$Pdot+25],$dot[$idx+$cols*$Pdot+26],$dot[$idx+$cols*$Pdot+27],$dot[$idx+$cols*$Pdot+28],$dot[$idx+$cols*$Pdot+29],$dot[$idx+$cols*$Pdot+30],$dot[$idx+$cols*$Pdot+31],$dot[$idx+$cols*$Pdot+32],$dot[$idx+$cols*$Pdot+33],$dot[$idx+$cols*$Pdot+34],$dot[$idx+$cols*$Pdot+35]);
$PZm=sp38XYZ("Z",$dot[$idx+$cols*$Pdot],$dot[$idx+$cols*$Pdot+1],$dot[$idx+$cols*$Pdot+2],$dot[$idx+$cols*$Pdot+3],$dot[$idx+$cols*$Pdot+4],$dot[$idx+$cols*$Pdot+5],$dot[$idx+$cols*$Pdot+6],$dot[$idx+$cols*$Pdot+7],$dot[$idx+$cols*$Pdot+8],$dot[$idx+$cols*$Pdot+9],$dot[$idx+$cols*$Pdot+10],$dot[$idx+$cols*$Pdot+11],$dot[$idx+$cols*$Pdot+12],$dot[$idx+$cols*$Pdot+13],$dot[$idx+$cols*$Pdot+14],$dot[$idx+$cols*$Pdot+15],$dot[$idx+$cols*$Pdot+16],$dot[$idx+$cols*$Pdot+17],$dot[$idx+$cols*$Pdot+18],$dot[$idx+$cols*$Pdot+19],$dot[$idx+$cols*$Pdot+20],$dot[$idx+$cols*$Pdot+21],$dot[$idx+$cols*$Pdot+22],$dot[$idx+$cols*$Pdot+23],$dot[$idx+$cols*$Pdot+24],$dot[$idx+$cols*$Pdot+25],$dot[$idx+$cols*$Pdot+26],$dot[$idx+$cols*$Pdot+27],$dot[$idx+$cols*$Pdot+28],$dot[$idx+$cols*$Pdot+29],$dot[$idx+$cols*$Pdot+30],$dot[$idx+$cols*$Pdot+31],$dot[$idx+$cols*$Pdot+32],$dot[$idx+$cols*$Pdot+33],$dot[$idx+$cols*$Pdot+34],$dot[$idx+$cols*$Pdot+35]);
$Plm=xyz2lab01("l",$PXm,$PYm,$PZm);
$Plm=xyz2lab01("l",$PXm,$PYm,$PZm);
$Pbm=xyz2lab01("b",$PXm,$PYm,$PZm);
echo "Plm=".$Plm."<br>";
$Pdot=1;
$SXm=sp38XYZ("X",$dot[$idx+$cols*$Pdot],$dot[$idx+$cols*$Pdot+1],$dot[$idx+$cols*$Pdot+2],$dot[$idx+$cols*$Pdot+3],$dot[$idx+$cols*$Pdot+4],$dot[$idx+$cols*$Pdot+5],$dot[$idx+$cols*$Pdot+6],$dot[$idx+$cols*$Pdot+7],$dot[$idx+$cols*$Pdot+8],$dot[$idx+$cols*$Pdot+9],$dot[$idx+$cols*$Pdot+10],$dot[$idx+$cols*$Pdot+11],$dot[$idx+$cols*$Pdot+12],$dot[$idx+$cols*$Pdot+13],$dot[$idx+$cols*$Pdot+14],$dot[$idx+$cols*$Pdot+15],$dot[$idx+$cols*$Pdot+16],$dot[$idx+$cols*$Pdot+17],$dot[$idx+$cols*$Pdot+18],$dot[$idx+$cols*$Pdot+19],$dot[$idx+$cols*$Pdot+20],$dot[$idx+$cols*$Pdot+21],$dot[$idx+$cols*$Pdot+22],$dot[$idx+$cols*$Pdot+23],$dot[$idx+$cols*$Pdot+24],$dot[$idx+$cols*$Pdot+25],$dot[$idx+$cols*$Pdot+26],$dot[$idx+$cols*$Pdot+27],$dot[$idx+$cols*$Pdot+28],$dot[$idx+$cols*$Pdot+29],$dot[$idx+$cols*$Pdot+30],$dot[$idx+$cols*$Pdot+31],$dot[$idx+$cols*$Pdot+32],$dot[$idx+$cols*$Pdot+33],$dot[$idx+$cols*$Pdot+34],$dot[$idx+$cols*$Pdot+35]);
$SYm=sp38XYZ("Y",$dot[$idx+$cols*$Pdot],$dot[$idx+$cols*$Pdot+1],$dot[$idx+$cols*$Pdot+2],$dot[$idx+$cols*$Pdot+3],$dot[$idx+$cols*$Pdot+4],$dot[$idx+$cols*$Pdot+5],$dot[$idx+$cols*$Pdot+6],$dot[$idx+$cols*$Pdot+7],$dot[$idx+$cols*$Pdot+8],$dot[$idx+$cols*$Pdot+9],$dot[$idx+$cols*$Pdot+10],$dot[$idx+$cols*$Pdot+11],$dot[$idx+$cols*$Pdot+12],$dot[$idx+$cols*$Pdot+13],$dot[$idx+$cols*$Pdot+14],$dot[$idx+$cols*$Pdot+15],$dot[$idx+$cols*$Pdot+16],$dot[$idx+$cols*$Pdot+17],$dot[$idx+$cols*$Pdot+18],$dot[$idx+$cols*$Pdot+19],$dot[$idx+$cols*$Pdot+20],$dot[$idx+$cols*$Pdot+21],$dot[$idx+$cols*$Pdot+22],$dot[$idx+$cols*$Pdot+23],$dot[$idx+$cols*$Pdot+24],$dot[$idx+$cols*$Pdot+25],$dot[$idx+$cols*$Pdot+26],$dot[$idx+$cols*$Pdot+27],$dot[$idx+$cols*$Pdot+28],$dot[$idx+$cols*$Pdot+29],$dot[$idx+$cols*$Pdot+30],$dot[$idx+$cols*$Pdot+31],$dot[$idx+$cols*$Pdot+32],$dot[$idx+$cols*$Pdot+33],$dot[$idx+$cols*$Pdot+34],$dot[$idx+$cols*$Pdot+35]);
$SZm=sp38XYZ("Z",$dot[$idx+$cols*$Pdot],$dot[$idx+$cols*$Pdot+1],$dot[$idx+$cols*$Pdot+2],$dot[$idx+$cols*$Pdot+3],$dot[$idx+$cols*$Pdot+4],$dot[$idx+$cols*$Pdot+5],$dot[$idx+$cols*$Pdot+6],$dot[$idx+$cols*$Pdot+7],$dot[$idx+$cols*$Pdot+8],$dot[$idx+$cols*$Pdot+9],$dot[$idx+$cols*$Pdot+10],$dot[$idx+$cols*$Pdot+11],$dot[$idx+$cols*$Pdot+12],$dot[$idx+$cols*$Pdot+13],$dot[$idx+$cols*$Pdot+14],$dot[$idx+$cols*$Pdot+15],$dot[$idx+$cols*$Pdot+16],$dot[$idx+$cols*$Pdot+17],$dot[$idx+$cols*$Pdot+18],$dot[$idx+$cols*$Pdot+19],$dot[$idx+$cols*$Pdot+20],$dot[$idx+$cols*$Pdot+21],$dot[$idx+$cols*$Pdot+22],$dot[$idx+$cols*$Pdot+23],$dot[$idx+$cols*$Pdot+24],$dot[$idx+$cols*$Pdot+25],$dot[$idx+$cols*$Pdot+26],$dot[$idx+$cols*$Pdot+27],$dot[$idx+$cols*$Pdot+28],$dot[$idx+$cols*$Pdot+29],$dot[$idx+$cols*$Pdot+30],$dot[$idx+$cols*$Pdot+31],$dot[$idx+$cols*$Pdot+32],$dot[$idx+$cols*$Pdot+33],$dot[$idx+$cols*$Pdot+34],$dot[$idx+$cols*$Pdot+35]);
$Sl=xyz2lab01("l",$SXm,$SYm,$SZm);
$Sa=xyz2lab01("a",$SXm,$SYm,$SZm);
$Sb=xyz2lab01("b",$SXm,$SYm,$SZm);
echo "$Sl=".$Sl."<br>";
//CT13
$Pdot=2; //5
$c5X=sp38XYZ("X",$dot[$idx+$cols*$Pdot],$dot[$idx+$cols*$Pdot+1],$dot[$idx+$cols*$Pdot+2],$dot[$idx+$cols*$Pdot+3],$dot[$idx+$cols*$Pdot+4],$dot[$idx+$cols*$Pdot+5],$dot[$idx+$cols*$Pdot+6],$dot[$idx+$cols*$Pdot+7],$dot[$idx+$cols*$Pdot+8],$dot[$idx+$cols*$Pdot+9],$dot[$idx+$cols*$Pdot+10],$dot[$idx+$cols*$Pdot+11],$dot[$idx+$cols*$Pdot+12],$dot[$idx+$cols*$Pdot+13],$dot[$idx+$cols*$Pdot+14],$dot[$idx+$cols*$Pdot+15],$dot[$idx+$cols*$Pdot+16],$dot[$idx+$cols*$Pdot+17],$dot[$idx+$cols*$Pdot+18],$dot[$idx+$cols*$Pdot+19],$dot[$idx+$cols*$Pdot+20],$dot[$idx+$cols*$Pdot+21],$dot[$idx+$cols*$Pdot+22],$dot[$idx+$cols*$Pdot+23],$dot[$idx+$cols*$Pdot+24],$dot[$idx+$cols*$Pdot+25],$dot[$idx+$cols*$Pdot+26],$dot[$idx+$cols*$Pdot+27],$dot[$idx+$cols*$Pdot+28],$dot[$idx+$cols*$Pdot+29],$dot[$idx+$cols*$Pdot+30],$dot[$idx+$cols*$Pdot+31],$dot[$idx+$cols*$Pdot+32],$dot[$idx+$cols*$Pdot+33],$dot[$idx+$cols*$Pdot+34],$dot[$idx+$cols*$Pdot+35]);
$c5Y=sp38XYZ("Y",$dot[$idx+$cols*$Pdot],$dot[$idx+$cols*$Pdot+1],$dot[$idx+$cols*$Pdot+2],$dot[$idx+$cols*$Pdot+3],$dot[$idx+$cols*$Pdot+4],$dot[$idx+$cols*$Pdot+5],$dot[$idx+$cols*$Pdot+6],$dot[$idx+$cols*$Pdot+7],$dot[$idx+$cols*$Pdot+8],$dot[$idx+$cols*$Pdot+9],$dot[$idx+$cols*$Pdot+10],$dot[$idx+$cols*$Pdot+11],$dot[$idx+$cols*$Pdot+12],$dot[$idx+$cols*$Pdot+13],$dot[$idx+$cols*$Pdot+14],$dot[$idx+$cols*$Pdot+15],$dot[$idx+$cols*$Pdot+16],$dot[$idx+$cols*$Pdot+17],$dot[$idx+$cols*$Pdot+18],$dot[$idx+$cols*$Pdot+19],$dot[$idx+$cols*$Pdot+20],$dot[$idx+$cols*$Pdot+21],$dot[$idx+$cols*$Pdot+22],$dot[$idx+$cols*$Pdot+23],$dot[$idx+$cols*$Pdot+24],$dot[$idx+$cols*$Pdot+25],$dot[$idx+$cols*$Pdot+26],$dot[$idx+$cols*$Pdot+27],$dot[$idx+$cols*$Pdot+28],$dot[$idx+$cols*$Pdot+29],$dot[$idx+$cols*$Pdot+30],$dot[$idx+$cols*$Pdot+31],$dot[$idx+$cols*$Pdot+32],$dot[$idx+$cols*$Pdot+33],$dot[$idx+$cols*$Pdot+34],$dot[$idx+$cols*$Pdot+35]);
$c5Z=sp38XYZ("Z",$dot[$idx+$cols*$Pdot],$dot[$idx+$cols*$Pdot+1],$dot[$idx+$cols*$Pdot+2],$dot[$idx+$cols*$Pdot+3],$dot[$idx+$cols*$Pdot+4],$dot[$idx+$cols*$Pdot+5],$dot[$idx+$cols*$Pdot+6],$dot[$idx+$cols*$Pdot+7],$dot[$idx+$cols*$Pdot+8],$dot[$idx+$cols*$Pdot+9],$dot[$idx+$cols*$Pdot+10],$dot[$idx+$cols*$Pdot+11],$dot[$idx+$cols*$Pdot+12],$dot[$idx+$cols*$Pdot+13],$dot[$idx+$cols*$Pdot+14],$dot[$idx+$cols*$Pdot+15],$dot[$idx+$cols*$Pdot+16],$dot[$idx+$cols*$Pdot+17],$dot[$idx+$cols*$Pdot+18],$dot[$idx+$cols*$Pdot+19],$dot[$idx+$cols*$Pdot+20],$dot[$idx+$cols*$Pdot+21],$dot[$idx+$cols*$Pdot+22],$dot[$idx+$cols*$Pdot+23],$dot[$idx+$cols*$Pdot+24],$dot[$idx+$cols*$Pdot+25],$dot[$idx+$cols*$Pdot+26],$dot[$idx+$cols*$Pdot+27],$dot[$idx+$cols*$Pdot+28],$dot[$idx+$cols*$Pdot+29],$dot[$idx+$cols*$Pdot+30],$dot[$idx+$cols*$Pdot+31],$dot[$idx+$cols*$Pdot+32],$dot[$idx+$cols*$Pdot+33],$dot[$idx+$cols*$Pdot+34],$dot[$idx+$cols*$Pdot+35]);
$c5l=xyz2lab01("l",$c5X,$c5Y,$c5Z);
$c5a=xyz2lab01("a",$c5X,$c5Y,$c5Z);
$c5b=xyz2lab01("b",$c5X,$c5Y,$c5Z);
echo "<br>lab:".$Sl."_".$Sa."_".$Sb."_";
$ch=pow((pow($Sa,2)+pow($Sb,2)),0.5);
echo "<br>ch:".$ch."<br>";
$hue=atan2($Sa,$Sb);
$deg = ($hue/M_PI*180) + ($hue > 0 ? 0 : 360);
echo "<br>hue:".$deg;
if ($Plm<87) {
$PnC='plate';}
else {
$PnC='Spot';
}
echo "<br>Type:".$PnC."<br>";
$c5dv=100*pow(((pow(($c5X-$PXm),2)+pow(($c5Y-$PYm),2)+pow(($c5Z-$PZm),2))/(pow(($SXm-$PXm),2)+pow(($SYm-$PYm),2)+pow(($SZm-$PZm),2))),0.5); //sctv
echo "dv5:".$c5dv."zz<br>";
//$c5dv= 0.01071207430340557 + (0.9194349992628631*$c5dv) + (0.0008057201828099661*pow($c5dv,2));
//echo "plate dv5:".$c5dv."zz<br>";
echo "snV:".$PXm."_".$PYm."_".$PZm."_SX:".$SXm."_SY:".$SYm."_SZ:".$SZm;
////////////////////////////////////////////////////Hex RGB//////////
$var_X = $SXm / 1.00;
$var_Y = $SYm / 1.00;
$var_Z = $SZm / 1.00;
$var_R = 3.2404542*$var_X - 1.5371385*$var_Y - 0.4985314*$var_Z;
$var_G = -0.9692660*$var_X + 1.8760108*$var_Y + 0.0415560*$var_Z;
$var_B = 0.0556434*$var_X - 0.2040259*$var_Y + 1.0572252*$var_Z;
$var_R=adj($var_R);
$var_G=adj($var_G);
$var_B=adj($var_B);
if ($var_R<0) {
$var_R=0;
}
if ($var_G<0) {
$var_G=0;
}
if ($var_B<0) {
$var_B=0;
}
$sR = round($var_R * 255,0);
$sG = round($var_G * 255,0);
$sB = round($var_B * 255,0);
$ch1C3=RGBToHex($sR,$sG,$sB);
$TRGB=substr($ch1C3,1);
echo "TRGB:".$TRGB;
////////////////////////////////////////////////////Hex RGB//////////
$_SESSION["PXm"] = "$PXm";
$_SESSION["PYm"] = "$PYm";
$_SESSION["PZm"] = "$PZm";
$_SESSION["SXm"] = "$SXm";
$_SESSION["SYm"] = "$SYm";
$_SESSION["SZm"] = "$SZm";
$_SESSION["PnC"] = "$PnC";
$_SESSION["deg"] = "$deg";
$_SESSION["TRGB"] = "$TRGB";
}
else { ////////////////////////////single point
echo "<br>single point";
$PXm=$_SESSION["PXm"] ;
$PYm=$_SESSION["PYm"];
$PZm=$_SESSION["PZm"];
$SXm=$_SESSION["SXm"];
$SYm=$_SESSION["SYm"];
$SZm=$_SESSION["SZm"];
$PnC=$_SESSION["PnC"];
$TRGB=$_SESSION["TRGB"];
$deg=$_SESSION["deg"];
echo "snV:".$PXm."_".$PYm."_".$PZm."_SX:".$SXm."_SY:".$SYm."_SZ:".$SZm;
$Pdot=0;
$c5X=sp38XYZ("X",$dot[$idx+$cols*$Pdot],$dot[$idx+$cols*$Pdot+1],$dot[$idx+$cols*$Pdot+2],$dot[$idx+$cols*$Pdot+3],$dot[$idx+$cols*$Pdot+4],$dot[$idx+$cols*$Pdot+5],$dot[$idx+$cols*$Pdot+6],$dot[$idx+$cols*$Pdot+7],$dot[$idx+$cols*$Pdot+8],$dot[$idx+$cols*$Pdot+9],$dot[$idx+$cols*$Pdot+10],$dot[$idx+$cols*$Pdot+11],$dot[$idx+$cols*$Pdot+12],$dot[$idx+$cols*$Pdot+13],$dot[$idx+$cols*$Pdot+14],$dot[$idx+$cols*$Pdot+15],$dot[$idx+$cols*$Pdot+16],$dot[$idx+$cols*$Pdot+17],$dot[$idx+$cols*$Pdot+18],$dot[$idx+$cols*$Pdot+19],$dot[$idx+$cols*$Pdot+20],$dot[$idx+$cols*$Pdot+21],$dot[$idx+$cols*$Pdot+22],$dot[$idx+$cols*$Pdot+23],$dot[$idx+$cols*$Pdot+24],$dot[$idx+$cols*$Pdot+25],$dot[$idx+$cols*$Pdot+26],$dot[$idx+$cols*$Pdot+27],$dot[$idx+$cols*$Pdot+28],$dot[$idx+$cols*$Pdot+29],$dot[$idx+$cols*$Pdot+30],$dot[$idx+$cols*$Pdot+31],$dot[$idx+$cols*$Pdot+32],$dot[$idx+$cols*$Pdot+33],$dot[$idx+$cols*$Pdot+34],$dot[$idx+$cols*$Pdot+35]);
$c5Y=sp38XYZ("Y",$dot[$idx+$cols*$Pdot],$dot[$idx+$cols*$Pdot+1],$dot[$idx+$cols*$Pdot+2],$dot[$idx+$cols*$Pdot+3],$dot[$idx+$cols*$Pdot+4],$dot[$idx+$cols*$Pdot+5],$dot[$idx+$cols*$Pdot+6],$dot[$idx+$cols*$Pdot+7],$dot[$idx+$cols*$Pdot+8],$dot[$idx+$cols*$Pdot+9],$dot[$idx+$cols*$Pdot+10],$dot[$idx+$cols*$Pdot+11],$dot[$idx+$cols*$Pdot+12],$dot[$idx+$cols*$Pdot+13],$dot[$idx+$cols*$Pdot+14],$dot[$idx+$cols*$Pdot+15],$dot[$idx+$cols*$Pdot+16],$dot[$idx+$cols*$Pdot+17],$dot[$idx+$cols*$Pdot+18],$dot[$idx+$cols*$Pdot+19],$dot[$idx+$cols*$Pdot+20],$dot[$idx+$cols*$Pdot+21],$dot[$idx+$cols*$Pdot+22],$dot[$idx+$cols*$Pdot+23],$dot[$idx+$cols*$Pdot+24],$dot[$idx+$cols*$Pdot+25],$dot[$idx+$cols*$Pdot+26],$dot[$idx+$cols*$Pdot+27],$dot[$idx+$cols*$Pdot+28],$dot[$idx+$cols*$Pdot+29],$dot[$idx+$cols*$Pdot+30],$dot[$idx+$cols*$Pdot+31],$dot[$idx+$cols*$Pdot+32],$dot[$idx+$cols*$Pdot+33],$dot[$idx+$cols*$Pdot+34],$dot[$idx+$cols*$Pdot+35]);
$c5Z=sp38XYZ("Z",$dot[$idx+$cols*$Pdot],$dot[$idx+$cols*$Pdot+1],$dot[$idx+$cols*$Pdot+2],$dot[$idx+$cols*$Pdot+3],$dot[$idx+$cols*$Pdot+4],$dot[$idx+$cols*$Pdot+5],$dot[$idx+$cols*$Pdot+6],$dot[$idx+$cols*$Pdot+7],$dot[$idx+$cols*$Pdot+8],$dot[$idx+$cols*$Pdot+9],$dot[$idx+$cols*$Pdot+10],$dot[$idx+$cols*$Pdot+11],$dot[$idx+$cols*$Pdot+12],$dot[$idx+$cols*$Pdot+13],$dot[$idx+$cols*$Pdot+14],$dot[$idx+$cols*$Pdot+15],$dot[$idx+$cols*$Pdot+16],$dot[$idx+$cols*$Pdot+17],$dot[$idx+$cols*$Pdot+18],$dot[$idx+$cols*$Pdot+19],$dot[$idx+$cols*$Pdot+20],$dot[$idx+$cols*$Pdot+21],$dot[$idx+$cols*$Pdot+22],$dot[$idx+$cols*$Pdot+23],$dot[$idx+$cols*$Pdot+24],$dot[$idx+$cols*$Pdot+25],$dot[$idx+$cols*$Pdot+26],$dot[$idx+$cols*$Pdot+27],$dot[$idx+$cols*$Pdot+28],$dot[$idx+$cols*$Pdot+29],$dot[$idx+$cols*$Pdot+30],$dot[$idx+$cols*$Pdot+31],$dot[$idx+$cols*$Pdot+32],$dot[$idx+$cols*$Pdot+33],$dot[$idx+$cols*$Pdot+34],$dot[$idx+$cols*$Pdot+35]);
$c5l=xyz2lab01("l",$c5X,$c5Y,$c5Z);
$c5a=xyz2lab01("a",$c5X,$c5Y,$c5Z);
$c5b=xyz2lab01("b",$c5X,$c5Y,$c5Z);
////////////////////////////////////////////////////Hex RGB//////////
$var_X = $c5X / 1.00;
$var_Y = $c5Y / 1.00;
$var_Z = $c5Z / 1.00;
$var_R = 3.2404542*$var_X - 1.5371385*$var_Y - 0.4985314*$var_Z;
$var_G = -0.9692660*$var_X + 1.8760108*$var_Y + 0.0415560*$var_Z;
$var_B = 0.0556434*$var_X - 0.2040259*$var_Y + 1.0572252*$var_Z;
$var_R=adj($var_R);
$var_G=adj($var_G);
$var_B=adj($var_B);
if ($var_R<0) {
$var_R=0;
}
if ($var_G<0) {
$var_G=0;
}
if ($var_B<0) {
$var_B=0;
}
$sR = round($var_R * 255,0);
$sG = round($var_G * 255,0);
$sB = round($var_B * 255,0);
$ch1C3=RGBToHex($sR,$sG,$sB);
$TRGB2=substr($ch1C3,1);
echo "TRGB2:".$TRGB2;
$hue=atan2($c5a,$c5b);
$deg2 = ($hue/M_PI*180) + ($hue > 0 ? 0 : 360);
echo "<br>hue2:".$deg2;
////////////////////////////////////////////////////Hex RGB//////////
if ($PnC=="plate") {
$ch1C3='#000000';
}
else {
$ch1C3="#".$TRGB;
if (abs($deg2-$deg)>15) {
echo "<br><font color='red'> 變更色彩! change Color:".$color2."deg:".abs($deg2-$deg);
$changebit=1;
$_SESSION["SXm"] = "$c5X";
$_SESSION["SYm"] = "$c5Y";
$_SESSION["SZm"] = "$c5Z";
$_SESSION["TRGB"] = "$TRGB2";
$_SESSION["deg"] = "$deg2";
echo "<br> 量測網點!<br>";
}
}
$c5dv=100*pow(((pow(($c5X-$PXm),2)+pow(($c5Y-$PYm),2)+pow(($c5Z-$PZm),2))/(pow(($SXm-$PXm),2)+pow(($SYm-$PYm),2)+pow(($SZm-$PZm),2))),0.5); //sctv
echo "dv5:".$c5dv."zz<br>";
//$c5dv= 0.01071207430340557 + (0.9194349992628631*$c5dv) + (0.0008057201828099661*pow($c5dv,2));
//echo "plate dv5:".$c5dv."zz<br>";
}
?>
<br>
<tr>
<td bgcolor="<?php echo $ch1C3; ?>"><div align="center"></div></td>
<td bgcolor="#cccccc"><div align="right"><?php if ($changebit==1) {echo "";}else {echo round($c5dv,2);} $changebit=0;?> </td>
</tr>
</table>
<?php
////////////////////////////////////////////////////////////////
$connection =mysql_connect("127.0.0.1", "root", "fredsql") or die ("Unable to connect!");
mysql_query("SET NAMES 'utf8'");
$db = "tvicheck-st";
// select database
mysql_select_db($db) or die ("Unable to select database!");
// generate and execute query
//$query = "INSERT INTO platecv(company, dns, contact, email, color, po, filename, T95,T90,T85,T80,T75,T70,T65,T60,T55,T45,T40,T35,T30,T25,T20,T15,T10,T5,T50,score, passbit, date, device, CT, printer, paper, ink, rankbit,p0d,c100d,rsq) VALUES('$company', '$myip', '$contact', '$email', '$color', '$po','$filename','$T95','$T90','$T85','$T80','$T75','$T70','$T65','$T60','$T55','$T45','$T40','$T35','$T30','$T25','$T20','$T15','$T10','$T5','$T50','$Rsum', '$passbit', NOW(), '$device', '13', '$press', '$paper', '$ink', '$rankbit', '$p0d', '$c100d','$R_Squared')";
//echo $query;
//$result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());
mysql_close($connection);
?>
<tr>
<td align="center"><font size="-2"> © <a href="mailto:[email protected]">Fred Kuo</a>, 2021. All rights reserved.<br><a href="http://www.fredkuo.idv.tw/wordpress/?p=1025">Read more.</a><br>
</td>
</tr>
</body>
</html>