diff --git a/LegoArt/MainWindow.xaml.cs b/LegoArt/MainWindow.xaml.cs index 6752e66..e192989 100644 --- a/LegoArt/MainWindow.xaml.cs +++ b/LegoArt/MainWindow.xaml.cs @@ -50,10 +50,10 @@ namespace LegoArt private void LoadImage(string path) { - var legoArtColors = legoArtColorService.ParseImage(path); + var bitmap = new System.Drawing.Bitmap(path); + var legoArtColors = legoArtColorService.ParseImage(bitmap); if (legoArtColors != null) { - var bitmap = new System.Drawing.Bitmap(path); var sourceBitamp = bitmapHelperService.Scale(bitmap, 1); sourceImage.Source = imageHelperService.LoadToImage(sourceBitamp); diff --git a/LegoArtTool/LegoArtColorService.cs b/LegoArtTool/LegoArtColorService.cs index 6b05cd6..2145b3a 100644 --- a/LegoArtTool/LegoArtColorService.cs +++ b/LegoArtTool/LegoArtColorService.cs @@ -6,34 +6,33 @@ namespace LegoArtTool { public class LegoArtColorService { - public static readonly List LegoColors; - - static LegoArtColorService() + public List GetLegoColors() { - LegoColors = new List(); + var legoColors = new List(); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(0, 0, 0), 1, 698)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(102, 101, 96), 2, 141)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(167, 166, 162), 3, 51)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(246, 246, 248), 4, 149)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(0, 53, 94), 5, 121)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(101, 135, 162), 6, 52)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(121, 196, 236), 7, 57)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(253, 104, 0), 8, 74)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(255, 170, 0), 9, 65)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(229, 205, 135), 10, 283)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(163, 129, 93), 11, 137)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(196, 115, 54), 12, 29)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(206, 81, 0), 13, 85)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(119, 40, 0), 14, 250)); - LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(66, 23, 3), 15, 554)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(0, 0, 0), 1, 698)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(102, 101, 96), 2, 141)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(167, 166, 162), 3, 51)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(246, 246, 248), 4, 149)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(0, 53, 94), 5, 121)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(101, 135, 162), 6, 52)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(121, 196, 236), 7, 57)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(253, 104, 0), 8, 74)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(255, 170, 0), 9, 65)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(229, 205, 135), 10, 283)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(163, 129, 93), 11, 137)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(196, 115, 54), 12, 29)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(206, 81, 0), 13, 85)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(119, 40, 0), 14, 250)); + legoColors.Add(new LegoArtColorInfo(Color.FromArgb(66, 23, 3), 15, 554)); + + return legoColors; } - public List ParseImage(string imagePath) + public List ParseImage(Bitmap bitmap) { - var parsedLegoColors = new List(LegoColors); + var parsedLegoColors = GetLegoColors(); - var bitmap = new Bitmap(imagePath); var width = bitmap.Width; var height = bitmap.Height; for (int h = 0; h < height; h++)