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)
{
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);

View file

@ -6,34 +6,33 @@ namespace LegoArtTool
{
public class LegoArtColorService
{
public static readonly List<LegoArtColorInfo> LegoColors;
static LegoArtColorService()
public List<LegoArtColorInfo> GetLegoColors()
{
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(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<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 height = bitmap.Height;
for (int h = 0; h < height; h++)