public MasterImageColourResponse GetMasterImageAverageColours(MasterImageColourRequest request, int height = 10, int width = 10) { var imageProcessing = new ImageProcessing(height, width); MosaicTileColour[,] colorMap; using (var source = new Bitmap(request.Master.FilePath)) { colorMap = imageProcessing.CreateMap(source); } List <Color> colorList = new List <Color>(); foreach (var c in colorMap) { colorList.Add(c.AverageWhole); } var hexColorList = colorList.Select(x => x.ToArgb()); var response = new MasterImageColourResponse() { }; response.AverageTileARGB.AddRange(hexColorList); return(response); }
public MasterImageColourResponse ReadMasterFileColours(ImageFileIndexStructure file, int height, int width) { var request = new MasterImageColourRequest() { Master = file }; var response = new ImageMosaicService.ImageMosaic().GetMasterImageAverageColours(request, height, width); return(response); }
public void GetMasterImageAverageColoursReturnsColourList() { var master = new ImageFileIndexStructure() { Id = ObjectId.GenerateNewId().ToString(), FileName = Path.GetFileName(sourceFile), FilePath = sourceFile }; var request = new MasterImageColourRequest() { Master = master }; var response = new ImageMosaic().GetMasterImageAverageColours(request); Assert.AreNotEqual(0, response.AverageTileARGB.ToList().Count); }