Fix loading image

This commit is contained in:
Claudio Schaad 2020-11-29 18:09:05 +01:00
parent 91f205ea84
commit d0ed93b7a7
2 changed files with 23 additions and 24 deletions

View file

@ -50,10 +50,10 @@ namespace LegoArt
private void LoadImage(string path) 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) if (legoArtColors != null)
{ {
var bitmap = new System.Drawing.Bitmap(path);
var sourceBitamp = bitmapHelperService.Scale(bitmap, 1); var sourceBitamp = bitmapHelperService.Scale(bitmap, 1);
sourceImage.Source = imageHelperService.LoadToImage(sourceBitamp); sourceImage.Source = imageHelperService.LoadToImage(sourceBitamp);

View file

@ -6,34 +6,33 @@ namespace LegoArtTool
{ {
public class LegoArtColorService public class LegoArtColorService
{ {
public static readonly List<LegoArtColorInfo> LegoColors; public List<LegoArtColorInfo> GetLegoColors()
static LegoArtColorService()
{ {
LegoColors = new List<LegoArtColorInfo>(); var legoColors = new List<LegoArtColorInfo>();
LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(0, 0, 0), 1, 698)); 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(102, 101, 96), 2, 141));
LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(167, 166, 162), 3, 51)); 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(246, 246, 248), 4, 149));
LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(0, 53, 94), 5, 121)); 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(101, 135, 162), 6, 52));
LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(121, 196, 236), 7, 57)); 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(253, 104, 0), 8, 74));
LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(255, 170, 0), 9, 65)); 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(229, 205, 135), 10, 283));
LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(163, 129, 93), 11, 137)); 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(196, 115, 54), 12, 29));
LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(206, 81, 0), 13, 85)); 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(119, 40, 0), 14, 250));
LegoColors.Add(new LegoArtColorInfo(Color.FromArgb(66, 23, 3), 15, 554)); legoColors.Add(new LegoArtColorInfo(Color.FromArgb(66, 23, 3), 15, 554));
return legoColors;
} }
public List<LegoArtColorInfo> ParseImage(string imagePath) public List<LegoArtColorInfo> ParseImage(Bitmap bitmap)
{ {
var parsedLegoColors = new List<LegoArtColorInfo>(LegoColors); var parsedLegoColors = GetLegoColors();
var bitmap = new Bitmap(imagePath);
var width = bitmap.Width; var width = bitmap.Width;
var height = bitmap.Height; var height = bitmap.Height;
for (int h = 0; h < height; h++) for (int h = 0; h < height; h++)