VB: Lab aus HLC =============== L=L a=C*COS(H*PI()/180) b=C*SIN(H*PI()/180) VB: HLC aus Lab =============== If a>0 AND b>0 then H = ARCTAN(b/a)*180/PI() ElseIf a<0 AND b>0 then H = ARCTAN(b/a)*360/PI() ElseIf a>0 AND b<0 then H = 360 + ARCTAN(b/a)*360/PI() ElseIf a<0 AND b<0 then H = 360 + ARCTAN(b/a)*360/PI() ElseIf a=0 AND b>0 H = 90 ElseIf a<0 AND b=0 H = 180 ElseIf a=0 AND b<0 H = 270 ElseIf a=0 AND b=0 H = 0 Else H = 0 EndIf L = L C = sqr(a^2+b^2) VB: Hunterscher Farbabstand zweier Farben ========================================= Function Farbabstand(L1, a1, b1, L2, a2, b2) If L1 < 0 Or L1 > 100 Or a1 < -120 Or a1 > 120 Or b1 < -120 Or b1 > 120 Or L2 < 0 Or L2 > 100 Or a2 < -120 Or a2 > 120 Or b2 < -120 Or b2 > 120 Then MsgBox "Eingabefehler" Else Diff_L = L1 - L2 Diff_a = a1 - a2 Diff_b = b1 - b2 Quadratsumme = Diff_L ^ 2 + Diff_a ^ 2 + Diff_b ^ 2 Farbabstand = Quadratsumme ^ 0.5 End If End Function PHP: HLC aus LAB ================ if ( ($a > 0) AND ( $b > 0)) { $HLC_H = round( atan2($b, $a) * 180 / pi(), 1); } else if ( ($a < 0) AND ( $b > 0)) { $HLC_H = round( atan2($b, $a) * 180 / pi(), 1); } else if ( ($a < 0) AND ( $b < 0)) { $HLC_H = 360 + round( atan2($b, $a) * 180 / pi(), 1); } else if ( ($a > 0) AND ( $b < 0)) { $HLC_H = 360 + round( atan2($b, $a) * 180 / pi(), 1); } else if ( ($a == 0) AND ($b > 0)) { $HLC_H = 90; } else if ( ($a == 0) AND ($b < 0)) { $HLC_H = 270; } else if ( ($a > 0) AND ($b == 0)) { $HLC_H = 360; } else if ( ($a < 0) AND ($b == 0)) { $HLC_H = 180; } else if ( ($a == 0) AND ($b == 0)) { $HLC_H = 0; } else { $HLC_H = 0; } $HLC_L = $l; $HLC_C = round( sqrt(($a * $a) + ($b * $b)), 2); =============== dtp studio 2013 ohne Gewähr!