aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.BL/ExtensionMethods
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-12-23 00:24:11 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-12-23 00:24:11 +0200
commit518c9192e4445d82f192edcccb2ffb64ffc88a65 (patch)
treebbf30297b0e452066801aefd9c9f2916020e57a6 /Software/Visual_Studio/Tango.BL/ExtensionMethods
parent7b6ec0a4e66a4402d5ee0beb4b34b18604e28cd8 (diff)
downloadTango-518c9192e4445d82f192edcccb2ffb64ffc88a65.tar.gz
Tango-518c9192e4445d82f192edcccb2ffb64ffc88a65.zip
ColorSpace per stop implemented on PPC.
Synchronization only when values change. Volume open for all. RGB to closest catalog item...
Diffstat (limited to 'Software/Visual_Studio/Tango.BL/ExtensionMethods')
-rw-r--r--Software/Visual_Studio/Tango.BL/ExtensionMethods/ColorCatalogItemsExtensions.cs23
1 files changed, 23 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.BL/ExtensionMethods/ColorCatalogItemsExtensions.cs b/Software/Visual_Studio/Tango.BL/ExtensionMethods/ColorCatalogItemsExtensions.cs
new file mode 100644
index 000000000..2a548371e
--- /dev/null
+++ b/Software/Visual_Studio/Tango.BL/ExtensionMethods/ColorCatalogItemsExtensions.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Media;
+using Tango.BL.Entities;
+
+public static class ColorCatalogItemsExtensions
+{
+ public static ColorCatalogsItem GetClosestItem(this IEnumerable<ColorCatalogsItem> items, Color color)
+ {
+ var minDiff = items.Select(x => x.Color).Select(n => ColorDiff(n, color)).Min(n => n);
+ return items.FirstOrDefault(n => ColorDiff(n.Color, color) == minDiff);
+ }
+
+ private static int ColorDiff(Color c1, Color c2)
+ {
+ return (int)Math.Sqrt((c1.R - c2.R) * (c1.R - c2.R)
+ + (c1.G - c2.G) * (c1.G - c2.G)
+ + (c1.B - c2.B) * (c1.B - c2.B));
+ }
+}