aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/VisualOffsetModel.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/VisualOffsetModel.cs')
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/VisualOffsetModel.cs22
1 files changed, 15 insertions, 7 deletions
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/VisualOffsetModel.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/VisualOffsetModel.cs
index 82fe75828..8813e6a20 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/VisualOffsetModel.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/VisualOffsetModel.cs
@@ -30,8 +30,17 @@ namespace Tango.PPC.Jobs.Models
public double L { get; set; }
public double C { get; set; }
- public double H { get; set; }
+ private double _h;
+
+ public double H
+ {
+ get { return _h; }
+ set { _h = value;
+ RaisePropertyChangedAuto();
+ }
+ }
+
public SolidColorBrush ColorBrush
{
get
@@ -356,6 +365,7 @@ namespace Tango.PPC.Jobs.Models
L = lch.L;
A = lch.C * Math.Cos(lch.H * (Math.PI / 180));
B = lch.C * Math.Sin(lch.H * (Math.PI / 180));
+
RaisePropertyChanged(nameof(SourceColorBrush));
RaisePropertyChanged(nameof(ManualColorBrush));
@@ -370,10 +380,6 @@ namespace Tango.PPC.Jobs.Models
/// <returns></returns>
public Lch Correction( double lightnessOffset, double chromaOffset, double hueOffset)
{
- //LightnessOffset = lightnessOffset;
- //ChromaOffset = chromaOffset;
- //HueOffset = hueOffset;
-
double L1 = SourceL;
double C1 = SourceC;
double H1 = SourceH;
@@ -382,10 +388,11 @@ namespace Tango.PPC.Jobs.Models
double refX_C = C1;
///lightness
double SL = 0;
- if (L1 <= 16)
+ if (L1 < 16)
SL = 0.511;
else
SL = L1 * 0.040975 / (1 + 0.01765 * L1);
+
L1 += lightnessOffset * 2 * SL;
if(L1 > 100)
L1 = 100;
@@ -393,7 +400,8 @@ namespace Tango.PPC.Jobs.Models
L1 = 0;
double SC = (0.638 + 0.0638 * refX_C / (1 + 0.0131 * refX_C));
- C1 += chromaOffset * SC;
+
+ C1 = C1 + (chromaOffset * SC);
// if (C1 > 128)
// C1 = 128;
if (C1 < 0)